CTE·연습 문제

전체 급여 중앙값

문제 설명PROBLEM

정렬된 데이터의 가운데 값

중앙값은 데이터를 정렬했을 때 가운데에 있는 값입니다. 행이 홀수 개면 한 값, 짝수 개면 가운데 두 값의 평균을 사용합니다. SQLite에는 중앙값 전용 집계 함수가 없으므로 순번과 전체 행 수를 함께 계산해야 합니다.

과제

전체 사원의 급여 중앙값을 조회하세요. 반드시 WITH와 윈도 함수를 사용하고, 결과는 값 하나만 반환하세요.


📋 사용 데이터

부서 테이블

부서번호부서명지역
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 문법 노트와 실수 포인트

CTE (WITH)

  • WITH 이름 AS (SELECT ...) SELECT ... FROM 이름으로 중간 결과에 이름을 붙입니다.
  • 복잡한 집계나 윈도 결과를 바깥 쿼리에서 다시 필터링할 때 유용합니다.