문제
다음 SQL 쿼리에서 결과를 얻기 위한 실행 순서로 가장 적절한 것은?
SQLSELECT department, COUNT(*) as emp_count FROM employees WHERE salary > 3000 GROUP BY department HAVING COUNT(*) >= 5;
① FROM → WHERE → GROUP BY → SELECT → HAVING ② FROM → WHERE → GROUP BY → HAVING → SELECT ③ FROM → GROUP BY → WHERE → HAVING → SELECT ④ WHERE → FROM → GROUP BY → SELECT → HAVING
정답
2번
해설
SQL의 논리적 실행 순서는 FROM(테이블 선택) → WHERE(개별 행 필터링) → GROUP BY(그룹화) → HAVING(그룹 조건 필터링) → SELECT(컬럼 선택) 순이다. WHERE는 그룹화 전에, HAVING은 그룹화 후에 조건을 적용한다.