IT
[Oracle] 오라클 HAVING
정미나
2013. 2. 4. 14:21
HAVING절
- GROUP BY 절과 같이 사용되어 SELECT 문장에서 집계 함수를 사용한 조건을 명시하는 절,
집계 함수용 WHERE 절, 항상 GROUP BY 절과 같이 사용되어야 한다.
SELECT department_id, COUNT(*)
FROM EMPLOYEES
WHERE department_id IS NOT NULL
FROM EMPLOYEES
WHERE department_id IS NOT NULL
GROUP BY department_id
HAVING COUNT(*) <= 5
ORDER BY department_id;
* SQL 문장의 실행순서
: WHERE -> GROUP BY -> HAVING
+ SELECT 문장 실행 순서
SELECT -- ⑤
FROM -- ①
WHERE -- ②
GROUP BY -- ③
HAVING -- ④
ORDER BY -- ⑥
=> SELECT 절에서 정의한 alias는 ORDER BY 절에서만 사용 가능
(일반조건을 HAVING절에 명시할 수도 있지만 성능적인 측면에서 볼 때 집계 함수가 포함된 조건은 HAVING절에, 일반조건은 WHERE 절에 명시하는 것이 바람직하다.)