문제
다음 SQL 문에서 실행 순서가 가장 늦은 절은?
SQLSELECT 부서명, AVG(급여) as 평균급여 FROM 직원 WHERE 입사일 >= '2020-01-01' GROUP BY 부서명 HAVING AVG(급여) > 4000 ORDER BY 평균급여;
① WHERE 절 ② GROUP BY 절 ③ HAVING 절 ④ ORDER BY 절
정답
4번
해설
SQL의 논리적 실행 순서는 FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY입니다. ORDER BY 절이 가장 마지막에 실행되어 최종 결과를 정렬합니다. WHERE는 그룹화 전 개별 행 필터링, GROUP BY는 그룹화, HAVING은 그룹 필터링 후에 ORDER BY가 실행됩니다. 이는 SQL 쿼리 최적화와 실행 계획 이해에 필수적인 개념입니다.