문제
다음 SQL문에서 GROUP BY와 HAVING 절의 처리 순서를 고려할 때, 최종 결과에 대한 설명으로 가장 옳은 것은?
SQLSELECT 지역, AVG(매출액) AS 평균매출 FROM 매장 WHERE 개점년도 >= 2020 GROUP BY 지역 HAVING AVG(매출액) > 5000 ORDER BY 평균매출;
① 2020년 이후 개점한 모든 매장의 지역별 평균매출을 오름차순으로 표시 ② 평균매출이 5000 초과인 지역만을 평균매출 오름차순으로 표시하되, 2020년 이후 개점 매장만 고려 ③ 전체 매장 중 지역별 평균매출이 5000 초과인 곳을 2020년 이후 데이터로 필터링하여 표시 ④ 2020년 이후 개점 매장 중 개별 매장 매출이 5000 초과인 지역의 평균매출을 표시
정답
2번
해설
SQL 실행 순서는 FROM → WHERE(개점년도 >= 2020) → GROUP BY(지역별) → HAVING(평균매출 > 5000) → SELECT → ORDER BY이다. 따라서 2020년 이후 개점 매장만으로 지역별 그룹을 만들고, 그 중 평균매출이 5000 초과인 지역만 최종 선택되어 오름차순 정렬된다.