3 HAVING : 연산된 그룹 함수 결과에 조건 적용하기
HAVING 절은 그룹화된 값에 조건식을 적용할 때 사용합니다. 즉, WHERE 절에서는 그룹 함수를 사용할 수 없으므로 HAVING 절을 사용해 그룹 함수의 결괏값에 대해 조건식을 적용합니다. 일반적으로 HAVING 절은 GROUP BY 절 다음에 기술하는 것이 논리적이고 가독성도 좋습니다. HAVING 절을 포함하여 '4.3.2 GROUP BY : 그룹으로 묶기' 내용을 다시 한 번 살펴보겠습니다.
SELECT 열 이름, 그룹 함수(열 이름) ----❺
FROM 테이블 이름 ----➊
[WHERE 조건식] ----➋
GROUP BY 열 이름 ----➌
[HAVING 조건식] ----➍
[ORDER BY 열 이름]; ----➏
➊ 테이블에 접근합니다.
➋ WHERE 조건식에 맞는 데이터 값만 골라냅니다.
➌ 기술된 기준 열을 기준으로 같은 데이터 값끼리 그룹화합니다.
➍ 그룹화된 값에 대해 조건식을 적용합니다.
❺ 결과를 출력합니다.
➏ 오름차순(기본, ASC) 혹은 내림차순(DESC)으로 정렬합니다.
GROUP BY 절에서 살펴보았던 예제를 다시 한 번 응용해 보겠습니다.