본문 바로가기

DB

[SQLD] HAVING

반응형

HAVING

1. GROUP BY로 묶인 각 그룹들 중에 실제 가져올 그룹들의 조건을 설정한다. 

2. GROUP BY 뒤에 HAVING이 나온다. WHERE에 조건을 넣으면 GROUP BY가 풀려버림. 

SELECT DEPTNO, AVG(SAL)
FROM EMP
GROUP BY DEPTNO
HAVING AVG(SAL)>2000;

3. 테이블 전체가 하나의 그룹인 경우 GROUP BY를 생략하고 HAVING 을 써도 된다. 

4. HAVING 절에서 SELECT 에서 사용된 ALIAS를 사용할 수 없다. 연산순서가 HAVING이 더 빠르기 때문이다. 

 

SELECT DEPTNO, SUM(SAL)
FROM EMP
GROUP BY DEPTNO
HAVING SUM(SAL)>8000 AND SUM(SAL)<9600;

 

반응형

'DB' 카테고리의 다른 글

[SQLD] WINDOW FUNCTION  (0) 2023.09.06
[SQLD] GROUPING SETS, ROLLUP, CUBE  (0) 2023.09.05
[SQLD] 필수 암기 개념 (2)  (0) 2023.09.04
[SQLD] 기출 필수 암기 개념  (0) 2023.09.03
[SQLD] WINDOWING 절(ROWS & RANGE)  (0) 2023.09.03