HAVING = GROUP BY 절에 의해 생성된 결과 값 중 원하는 조건에 부합하는 자료만 보고자 할 때 사용한다.
실습 환경
Windows 10
Oracle 11g Express Edition Release 11
Oracle SQL Developer
Database ( hr ) - hr 테이블은 오라클에서 지원하는 테이블입니다.
GROUP BY와 HAVING를 활용한 데이터 출력 예제 1
SELECT department_id , JOB_ID , AVG(salary) FROM employees
GROUP BY department_id , JOB_ID
HAVING AVG(salary) >= '10000'
예전에 GROUP BY만 한다면 모든 데이터가 집계되어 출력이 됬다. 하지만 여기서 HAVING 을 주목하자
HAVING 에는 조건식이 들어가있다 저 조건에 포함되는 데이터만 출력 하라는 뜻이다.
주의할점 -> WHERE 절과 비슷하지만 그룹을 나타내는 결과 집합의 행에 조건이 적용된다는 점에서 차이가 있다.
GROUP BY / HAVING / ORDER BY 를 활용한 데이터 출력 예제 2
SELECT department_id , JOB_ID , AVG(salary) FROM employees
GROUP BY department_id , JOB_ID
HAVING AVG(salary) >= '10000'
ORDER BY department_id asc;
이 코드는 위 코드에서 ORDER BY 만 줬다 ORDER BY 를 하게되면 조건에 맞게 정렬해서 출력을 해준다.
GROUP BY / HAVING / ORDER BY 를 3개 사용한다면 순서는 위와 같다.
'DATABASE > ORACLE' 카테고리의 다른 글
Oracle - Decode (0) | 2022.03.15 |
---|---|
Oracle - NVL , NVL2 , COALESCE (0) | 2022.03.15 |
Oralce - TO_CHAR () (0) | 2022.03.14 |
Oralce - GROUP BY(그룹) (0) | 2022.03.14 |
Oracle - DISTINCT(중복제거) (0) | 2022.03.14 |