티스토리 뷰

Select 문은 데이터베이스에 저장된 데이터를 가져오기 위해서 사용하는 명령어입니다. 이전의 글에서는 간단한 Select 문을 통해서 데이터를 가져오는 방법에 대해서 알아보았는데요. 이 글에서는 좀 더 심도있게 Select 문을 사용할 수 있는 방법에 대해서 알아보도록 하겠습니다.


이전 글을 보지 못하신 분은 아래의 링크를 참조해주세요.


SQL 언어에는 특별한 키워드 함수가 있습니다. 함수들의 값이나 값들에 대한 연산을 수행하는 코드가 되는데요. 이러한 함수들을 오늘 글에서는 설명을 드릴까 합니다. 자 그럼 Select 문의 고급 기능(?)에 대해서 알아보도록 하겠습니다. 


1. Column의 값을 합하기 (SUM 함수)


조건에 만족하는 특정 컬럼의 값들을 모두 더하고자 할 때는 SUM 함수를 사용할 수 있습니다.  SUM 함수는 아래와 같은 방식으로 사용이 가능합니다.


SELECT SUM(컬럼이름) FROM 테이블이름 WHERE 조건


오늘 내용을 테스트 하기 위해서 SALES_TABLE이라는 테이블을 하나 만들어 보았습니다. SALES_TABLE은 INDEX, 사람이름, 그사람이 달성한 SALES 액수를 저장해 놓은 간단한 테이블 입니다. 먼저 SALES_TABLE의 내용을 한번 살펴보겠습니다.


5명의 직원이 GUS Company를 먹여살리기 위해서 최선을 다해 세일즈를 하고 있습니다. 

현재까지 Sales의 총합을 보기위해서 발생한 Sales의 합을 구해보도록 하겠습니다. 



$ 51944.44라는 액수의 매출을 얻었다는 것을 확인할 수 있네요. 그럼 사장인 구스를 제외한 직원들의 매출도 한번 살펴볼까요. Where 절을 이용하여  구스가 아닌 사람에 대한 Sales 값만 더해보았습니다. 


구스를 제외하니 36944.44를 벌어드렸네요. 이렇듯 Select 구문에서는 Where 절을 사용할 수도 있고, 하지 않을 수도 있습니다. 



2. Column 값을 평균구하기 (Average 함수)


그럼 직원당 평균 매출액을 구해보도록 할까요. 평균값을 구하기 위해서는 AVG 함수를 사용할 수 있습니다. AVG 함수는 숫자열에 대해서만 사용이 가능합니다. AVG 함수는 아래와 같은 방식으로 사용이 가능합니다.


SELECT AVG(컬럼이름) FROM 테이블이름 WHERE 조건


직원 매출의 평균을 구해보도록 하겠습니다. 평균을 구하니 10388 정도가 나오게 되네요.



그럼 사장을 제외한 사람들의 평균도 구해볼까요. 구스를 제외하기 위해서 또 Where 문을 이용하였습니다.



마지막은 좀 복잡하게 SQL문을 만들어 보도록 하겠습니다. Select 구문을 통해서 우리는 평균의 값을 구할 수 있습니다. 이말은 WHERE 절에서 컬럼들의 값과 평균값을 비교도 할 수 있을 것입니다. 이를 위해서 아래의 SQL 코드를 한번 만들어 보았습니다. 


여기서 주의해야 할점은 WHERE 절에서 평균값을 사용하기 위해서는 WHERE 안에서 AVG를 위한 SELECT 구문 전체를 작성해야 합니다. 래야 AVG 값을 각 컬럼의 값과 비교를 할 수 있습니다. 아래의 코드는 각 직원에 대한 SALES 값을 평균값과 비교하여 평균이상의 성과를 낸 사람을 찾아내는 SQL문입니다. 



구스, 철수, 동수가 평균이상의 결과를 만들어 냈다는 것을 확인할 수 있습니다. 


3. 최대값과 최소값을 구해보기


컬럼내의 값들의 합과 평균에 대해서 구해보았습니다. 그럼 최고/최소의 값을 가진 컬럼을 찾아볼까요?

매출을 가장 많이 만들어낸 사람과 가장 작게 만들어 낸 사람을 한번 찾아보도록 하겠습니다.


최대/최소값을 구하기 위해서는 MAX/MIN 함수를 사용할 수 있습니다. MAX/MIN 함수는 아래와 같은 방식으로 사용이 가능합니다.


최대값의 경우 : SELECT MAX(컬럼이름) FROM 테이블이름 WHERE 조건

최소값의 경우 : SELECT MIN(컬럼이름) FROM 테이블이름 WHERE 조건


자 그럼 매출을 가장 많이 만들어낸 사람을 찾아볼까요. MAX의 값과 SALES의 값이 동일한 사람의 이름과 매출액을 뽑아보았습니다.



반대로 MIN값과 SALES의 값이 동일한 사람을 찾기위해서는 아래의 방법을 사용할 수 있습니다. 



4. Column의 갯수 구하기


그럼 마지막으로 현재 직원의 수와 평균 이상의 매출을 발생한 직원을 수를 구해보도록 하겠습니다. 

Column의 갯수를 구하기 위해서는 Count 함수를 사용할 수 있습니다. Count 함수는 아래와 같은 방식으로 사용이 가능합니다.


SELECT Count(컬럼이름) FROM 테이블이름 WHERE 조건


직원의 수를 구해보았습니다. 5명이네요. 좀더 발전할 필요가 있는 회사입니다.



평균이상의 매출을 발생시킨 직원의 수를 한번 찾아보았습니다. 



이 글에서는 Select 문에서 사용할 수 있는 다양한 함수를 살펴보았습니다.

이 글이 도움이 되셨으면, 아래의 그림을 클릭해주시길 바랍니다.


댓글