문제
다음 SQL 문의 실행 결과를 분석할 때 가장 적절한 설명은?
SQLSELECT 지역, 직급, AVG(연봉) AS 평균연봉 FROM 직원 WHERE 입사일 >= '2020-01-01' GROUP BY 지역, 직급 HAVING AVG(연봉) > 4000 ORDER BY 지역, 평균연봉 DESC;
① 2020년 이후 입사자 중 지역별 평균연봉이 4000 초과인 그룹을 연봉 내림차순 정렬 ② 2020년 이후 입사자를 지역-직급별로 그룹화하여 평균연봉 4000 초과 그룹을 지역순-연봉 내림차순 정렬 ③ 모든 직원을 대상으로 지역-직급별 평균연봉을 계산하되 4000 초과 그룹만 표시 ④ 2020년 이후 입사자 중 개인 연봉이 4000 초과인 직원을 지역-직급별로 분류하여 정렬
정답
2번
해설
WHERE절로 2020년 이후 입사자를 먼저 필터링하고, GROUP BY로 지역-직급별 그룹화, HAVING으로 그룹별 평균연봉이 4000 초과인 그룹만 선택, ORDER BY로 지역순 정렬 후 평균연봉 내림차순 정렬한다. ①은 지역별만 그룹화로 잘못되었고, ③④는 조건 해석이 부정확하다.