문제
다음 SQL 문에서 서브쿼리와 조인이 결합된 복잡한 구조의 실행 결과로 가장 적절한 것은?
SQLSELECT d.부서명, AVG(s.급여) AS 평균급여 FROM 부서 d JOIN 사원 s ON d.부서코드 = s.부서코드 WHERE s.입사일 >= '2020-01-01' AND s.사원번호 IN (SELECT 사원번호 FROM 프로젝트참여 WHERE 역할 = '팀장') GROUP BY d.부서명 HAVING COUNT(s.사원번호) >= 2 ORDER BY 평균급여 DESC;
① 2020년 이후 입사한 팀장급 사원이 2명 이상인 부서의 평균급여를 높은 순으로 표시 ② 모든 사원 중 팀장 역할을 하는 사원이 2명 이상인 부서의 평균급여를 높은 순으로 표시 ③ 2020년 이후 입사한 사원이 속한 모든 부서의 평균급여를 높은 순으로 표시 ④ 프로젝트에 참여하는 모든 사원의 부서별 평균급여를 높은 순으로 표시
정답
1번
해설
이 SQL은 복합 조건을 가진다: WHERE절로 2020년 이후 입사자를 필터링하고, IN 서브쿼리로 팀장 역할 사원만 선택한다. JOIN으로 부서 정보를 결합하고, GROUP BY로 부서별 그룹화 후, HAVING으로 해당 조건을 만족하는 사원이 2명 이상인 부서만 남긴다. 마지막에 평균급여 내림차순으로 정렬한다.