문제
다음 SQL 문장에서 실행 순서가 잘못 설명된 것은?
SQLSELECT REGION, SUM(SALES) AS TOTAL FROM STORE WHERE YEAR = 2023 GROUP BY REGION HAVING SUM(SALES) > 1000 ORDER BY TOTAL DESC;
① FROM절이 가장 먼저 실행되어 테이블을 식별한다 ② WHERE절은 GROUP BY보다 먼저 실행되어 개별 행을 필터링한다 ③ SELECT절은 HAVING절보다 먼저 실행되어 컬럼을 선택한다 ④ ORDER BY절은 가장 마지막에 실행되어 결과를 정렬한다
정답
3번
해설
SQL 실행 순서는 FROM→WHERE→GROUP BY→HAVING→SELECT→ORDER BY입니다. ③번이 틀린 설명으로, 실제로는 HAVING절이 SELECT절보다 먼저 실행됩니다. GROUP BY로 그룹을 만든 후 HAVING절에서 그룹 조건을 평가하고, 그 다음 SELECT절에서 최종 결과 컬럼을 선택합니다. ①FROM절이 먼저 실행되고, ②WHERE절이 GROUP BY보다 먼저 실행되며, ④ORDER BY절이 마지막에 실행되는 것은 모두 올바른 설명입니다.