본문 바로가기
Database

GROUP BY , HAVING

by hunbal 2023. 2. 8.
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

댓글