윈도 함수·연습 문제

전체 급여 순위

문제 설명PROBLEM

행을 유지하며 순위 계산하기

윈도 함수는 행을 그룹으로 합치지 않고, 각 행 옆에 집계나 순위를 붙입니다. 같은 급여에는 같은 순위를 주고 다음 순위를 건너뛰지 않는 방식이 필요합니다.

과제

모든 사원의 이름, 급여, 급여 순위를 조회하세요. 급여가 높을수록 1위이며 같은 급여는 같은 순위, 다음 순위는 연속되어야 합니다.


📋 사용 데이터

부서 테이블

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

윈도 함수

  • 함수() OVER (...)는 상세 행을 유지한 채 순위·집계를 붙입니다.
  • PARTITION BY는 계산 그룹, 윈도 안의 ORDER BY는 계산 순서를 정합니다.
  • 최종 출력 순서는 바깥 ORDER BY로 따로 지정해야 합니다.