반응형
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 |