문제
다음 SQL에서 GROUP BY와 HAVING 절의 실행 순서를 고려할 때, 가장 적절하지 않은 설명은?
SQLSELECT CATEGORY, AVG(PRICE) FROM ITEMS WHERE STOCK > 0 GROUP BY CATEGORY HAVING AVG(PRICE) > 50000;
① WHERE 절이 GROUP BY보다 먼저 실행된다 ② HAVING 절은 그룹화 이후에 적용된다 ③ HAVING 절에서 집계함수 사용이 가능하다 ④ HAVING 절은 GROUP BY 이전에 적용된다
정답
4번
해설
④가 가장 적절하지 않은 설명입니다. WHERE 절로 행을 먼저 필터링한 뒤 GROUP BY로 그룹화하고, 그 이후 HAVING 절이 그룹 조건을 적용합니다. 따라서 HAVING 절은 GROUP BY 이전이 아니라 이후에 적용됩니다. ①②③은 모두 올바른 설명입니다.