서브쿼리·연습 문제

자기 부서 평균보다 고액 연봉자

문제 설명PROBLEM

행마다 달라지는 비교 기준

전체 평균이 아니라 현재 사원이 속한 부서의 평균과 비교해야 합니다. 바깥 행의 부서번호를 안쪽 쿼리에서 참조하는 상관 서브쿼리가 필요합니다.

과제

자신이 속한 부서의 평균 급여보다 많이 받는 사원의 이름, 부서번호, 급여를 조회하세요. 부서 미배정 사원은 제외합니다.


📋 사용 데이터

부서 테이블

부서번호부서명지역
10경영서울
20개발판교
30영업부산
40인사대전

사원 테이블 — 수당이 없는 사원은 NULL, 부서 미배정 사원은 부서번호NULL

사원번호이름직급부서번호급여수당입사일
1김철수부장105000NULL2018-03-01
2이영희과장204000NULL2019-06-15
3박민수대리203000NULL2020-01-10
4최지우사원2025005002021-09-01
5정해인과장3038003002019-11-20
6한가인대리302800NULL2020-07-07
7오세훈사원3022004002022-02-14
8신동엽부장105200NULL2017-05-05
9김보검사원NULL2400NULL2023-01-05

결과의 컬럼 이름은 채점하지 않습니다. 값과 행·열의 모양만 맞으면 정답이에요.

SQL 문법 노트와 실수 포인트

서브쿼리

  • 괄호 안 SELECT 결과를 바깥에서 사용.
  • 단일 값이면 = (...), 여러 값이면 IN (...).
  • 집계함수는 WHERE 에 직접 못 쓰지만 서브쿼리로 감싸면 가능: WHERE 급여 > (SELECT AVG(급여) ...).