전체 평균이 아니라 현재 사원이 속한 부서의 평균과 비교해야 합니다. 바깥 행의 부서번호를 안쪽 쿼리에서 참조하는 상관 서브쿼리가 필요합니다.
자신이 속한 부서의 평균 급여보다 많이 받는 사원의 이름, 부서번호, 급여를 조회하세요. 부서 미배정 사원은 제외합니다.
부서 테이블
| 부서번호 | 부서명 | 지역 |
|---|---|---|
| 10 | 경영 | 서울 |
| 20 | 개발 | 판교 |
| 30 | 영업 | 부산 |
| 40 | 인사 | 대전 |
사원 테이블 — 수당이 없는 사원은 NULL, 부서 미배정 사원은 부서번호가 NULL
| 사원번호 | 이름 | 직급 | 부서번호 | 급여 | 수당 | 입사일 |
|---|---|---|---|---|---|---|
| 1 | 김철수 | 부장 | 10 | 5000 | NULL | 2018-03-01 |
| 2 | 이영희 | 과장 | 20 | 4000 | NULL | 2019-06-15 |
| 3 | 박민수 | 대리 | 20 | 3000 | NULL | 2020-01-10 |
| 4 | 최지우 | 사원 | 20 | 2500 | 500 | 2021-09-01 |
| 5 | 정해인 | 과장 | 30 | 3800 | 300 | 2019-11-20 |
| 6 | 한가인 | 대리 | 30 | 2800 | NULL | 2020-07-07 |
| 7 | 오세훈 | 사원 | 30 | 2200 | 400 | 2022-02-14 |
| 8 | 신동엽 | 부장 | 10 | 5200 | NULL | 2017-05-05 |
| 9 | 김보검 | 사원 | NULL | 2400 | NULL | 2023-01-05 |
결과의 컬럼 이름은 채점하지 않습니다. 값과 행·열의 모양만 맞으면 정답이에요.
SELECT 결과를 바깥에서 사용.= (...), 여러 값이면 IN (...).WHERE 에 직접 못 쓰지만 서브쿼리로 감싸면 가능: WHERE 급여 > (SELECT AVG(급여) ...).SQL을 작성하고 Run 을 눌러보세요.