SMALL
GROUP BY
집계함수를 사용하여 특정 그룹으로 구분 할 때는 GROUP BY 절을 사용한다.
SELECT deptno, MIN(sal)
FROM emp
GROUP BY deptno;
HAVING
집계함수를 사용하여 조건비교를 할 때 HAVING 절을 사용한다.
SELECT b.dname, COUNT(a.empno) "사원수"
FROM emp a, dept b
WHERE a.deptno = b.deptno
GROUP BY dname
HAVING COUNT(a.empno) > 5;
GROUP BY절과 HAVING절의 특성
- GROUP BY 절을 통해 소그룹별 기준을 정한 후, SELECT 절에 집계 함수를 사용한다.
- 집계 함수의 통계 정보는 NULL 값을 가진 행을 제외하고 수행한다.
- GROUP BY 절에서는 SELECT 절과는 달리 ALIAS 명을 사용할 수 없다.
- 집계 함수는 WHERE 절에는 올 수 없다. (집계 함수를 사용할 수 있는 GROUP BY 절보다 WHERE 절이 먼저 수행된다
- WHERE 절은 전체 데이터를 GROUP으로 나누기 전에 행들을 미리 제거시킨다.
- HAVING 절은 GROUP BY 절의 기준 항목이나 소그룹의 집계 함수를 이용한 조건을 표시할 수 있다.
- GROUP BY 절에 의한 소그룹별로 만들어진 집계 데이터 중, HAVING 절에서 제한 조건을 두어 조건을 만족하는 내용만 출력한다.
- HAVING 절은 일반적으로 GROUP BY 절 뒤에 위치한다.
'Database' 카테고리의 다른 글
JOIN 핵심정리 (0) | 2023.02.09 |
---|---|
ORDER BY (0) | 2023.02.08 |
연산자의 우선순위 (0) | 2023.02.07 |
데이터베이스 트랜잭션의 4가지 특성 (0) | 2023.02.07 |
DROP, TRUNCATE, DELETE 비교 (0) | 2023.02.07 |
댓글