📌 집계함수 정리
함수 설명 비고 COUNT 행의 수 NULL 값을 포함한 전체 행의 수 : COUNT(*) NULL 값을 제외한 전체 행의 수 : COUNT(열 이름) 중복을 제외한 행의 수 : COUNT(DISTINCT 열 이름) SUM 행의 합계 전체 합계 : SUM(열 이름) AVG 행의 평균 평균 : AVG(열 이름) MAX 행의 최댓값 최댓값 : MAX(열 이름) MIN 행의 최솟값 최솟값 : MIN(열 이름) STDENV 행의 표준편차 표준편차 : STDENV(열 이름) VARIANCE 행의 분산 분산 : VARIANCE(열 이름)
✔️ COUNT 함수는 데이터의 검증용으로도 많이 사용
EX) SELECT count(*) FROM EMPLOYEES e ;
EX) SELECT COUNT(COMMISSION_PCT) commition FROM EMPLOYEES e ;
✔️ NULL 값을 포함한 전체 행의 수 : COUNT(*)
✔️ NULL 값을 제외한 전체 행의 수 : COUNT(열 이름)
✔️ 중복을 제외한 행의 수 : COUNT(DISTINCT 열 이름)
EX) SELECT sum(SALARY) FROM EMPLOYEES e ;
✔️ NULL 값을 제외한 계산 : 이 함수를 사용하면 NULL 값을 가진 열은 계산에서 생략되어 전체 평균괎이 잘못될 수 있으므로 주의해야 한다.
✔️ NULL 값을 포함한 계산 : NULL 값을 0으로 치환해주는 COALESCE 함수를 사용한다.
EX) SELECT AVG(SALARY) FROM EMPLOYEES e ;
**80번부서의 급여 평균 EX) SELECT AVG(SALARY) FROM EMPLOYEES e WHERE DEPARTMENT_ID = 80 ;
EX) SELECT max(SALARY) FROM EMPLOYEES e ;
EX) SELECT MAX(HIRE_DATE) FROM EMPLOYEES e ;
EX) SELECT MIN(SALARY) FROM EMPLOYEES e ;
EX) SELECT MIN(HIRE_DATE) FROM EMPLOYEES e ;
✔️ CASE WHEN은 조건절을 나타낼 때 사용
✔️ [조건1]을 만족하면 [결과값1]을 나타내고, [조건2]를 만족하면 [결과값2]를 나타내라. 나머지는 [결과값3]으로 보여주고 이들 결과값은
새로운 열 이름으로 나타내라
는 뜻SELECT 열 이름1, CASE WHEN [조건1] THEN [결과값1] WHEN [조건2] THEN [결과값2] ELSE [결과값3] END AS 새로운 열 이름 FROM 테이블명;
EX) SELECT FIRST_NAME , LAST_NAME , CASE WHEN DEPARTMENT_ID = 20 THEN 'MA' WHEN DEPARTMENT_ID = 60 THEN 'IT' WHEN DEPARTMENT_ID = 90 THEN 'EX' ELSE '' END "department" FROM EMPLOYEES e ;
✔️ CASE WHEN 함수에서 EQUAL 조건만 있을 경우 DECODE 함수를 사용할 수 있다. (DBMS 특성에 따라 지원이 안 되는 경우도 있음)
** DECODE 함수 문법 DECODE (열 이름, 조건1, 결과값1, 조건2, 결과값2, 조건3, 결과값3, 기본값) 새로운 열 이름
EX) SELECT DEPARTMENT_ID , DECODE(DEPARTMENT_ID, 20, 'MA', 60, 'IT', 90, 'EX', 'ETC') FROM DEPARTMENTS d ;
🔎 집계 함수를 사용하면 NULL 값은 계산에서 무시된다. 평균을 계산할 때 AVG 함수를 사용하면 NULL 값이 무시된다. NULL 값을 포함해서 계산하기 위해서는 COALESCE 함수를 이용하여 치환해야 한다.
🔎 별칭을 지정할 때는 테이블에 존재하는 열 이름이 아닌 새로운 이름으로 지정하는 것이 좋음
🔎 숫자형 데이터를 분석할 때 SUM, AVG, MIN, MAX 값을 사용하여 데이터를 검증하는 것은 중요!