문제
다음 SQL 문에서 HAVING 절의 조건이 적용되는 시점에 대한 설명으로 가장 옳은 것은?
① WHERE 조건 적용 전에 HAVING 조건이 먼저 검사된다 ② GROUP BY로 그룹화된 후 각 그룹에 대해 HAVING 조건이 적용된다 ③ ORDER BY 정렬 후 최종 결과에 HAVING 조건이 적용된다 ④ SELECT 절의 집계함수 계산 전에 HAVING 조건이 적용된다
정답
2번
해설
②가 정답이다. SQL 실행 순서는 FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY 이다. HAVING은 GROUP BY로 생성된 각 그룹에 대해 집계함수 결과를 조건으로 검사한다. WHERE는 개별 행을, HAVING은 그룹을 필터링한다.