문제
다음 SQL 문에서 집계 함수와 함께 사용되는 조건절에 대한 설명으로 가장 옳은 것은?
① WHERE 절은 GROUP BY 이후에 실행되어 그룹화된 결과에 조건을 적용한다 ② HAVING 절은 개별 행을 필터링하며 집계 함수를 사용할 수 없다 ③ WHERE 절은 그룹화 이전에 개별 행을 필터링하고, HAVING 절은 그룹화 이후 집계 결과에 조건을 적용한다 ④ HAVING 절과 WHERE 절은 동일한 기능을 수행하며 서로 교체하여 사용할 수 있다
정답
3번
해설
WHERE 절은 GROUP BY 이전에 개별 행을 필터링하고, HAVING 절은 GROUP BY 이후 그룹화된 결과에 대해 집계 함수를 포함한 조건을 적용한다. ①번은 WHERE 절의 실행 순서가 틀렸고, ②번은 HAVING 절의 기능을 잘못 설명했으며, ④번은 두 절의 기능이 서로 다르므로 교체 사용할 수 없다.