그룹함수

: 테이블의 전체 데이터에서 통계적인 결과를 구하기 위해서 행 집합에 적용하여 하나의 결과를 생산

 

사원들의 급여 총액, 평균액, 최고액, 최소액 출력하기

SELECT SUM(SALARY) AS "급여총액",
        ROUND(AVG(SALARY)) AS "급여평균",
        MAX(SALARY) AS "최대급여",
        MIN(SALARY) AS "최소급여"
FROM EMPLOYEE;

 

최근에 입사한 사원과 가장 오래전에 입사한 사원의 입사일 출력하기

SELECT MAX(HIREDATE),
        MIN(HIREDATE)
FROM EMPLOYEE;

 

1. 그룹함수와 NULL값

그룹함수는 다른 연산자와는 달리 해당 칼럼 값이 NULL인 것을 제외하고 계산

 

사원들의 커미션 총액 출력하기

SELECT SUM(COMMISSION) AS "커미션 총액"
FROM EMPLOYEE;

 

2. 로우 개수를 구하는 COUNT 함수

: 테이블의 행 개수를 반환

- COUNT(*) : NULL을 포함한 모든 행의 개수를 구함

- COUNT(expr) : expr열에서 NULL이 아닌 행의 개수를 구함

- DISTINCT : 중복되는 값을 한 개로 하여 행의 개수를 구함

- ALL : 중복되는 값을 포함한 행의 개수를 구함 (Default)

 

전체 사원의 수 구하기

SELECT COUNT(*) AS "사원의 수"
FROM EMPLOYEE;

 

커미션을 받는 사원의 수 구하기

SELECT COUNT(COMMISSION) AS "커미션 받는 사원 수"
FROM EMPLOYEE;

 

직업 종류의 개수 출력하기

SELECT COUNT(DISTINCT JOB) AS "직업 종류의 개수"
FROM EMPLOYEE;

 

3. 그룹함수와 단순 칼럼

그룹함수를 사용하는 경우 SELECT 절의 열 또는 표현식에 그룹함수가 아닌 것을 포함시키면 에러 발생

 

그룹함수를 사용하는 경우 SELECT 절에 그룹함수가 아닌 것을 포함시킨 잘못된 예

SELECT ENAME, MAX(SALARY)
FROM EMPLOYEE;

+ Recent posts