윈도 함수·연습 문제

직전 입사자와 급여 비교

문제 설명PROBLEM

이전 행의 값 가져오기

LAG는 지정한 정렬 순서에서 현재 행보다 앞선 행의 값을 가져옵니다. 첫 행에는 이전 값이 없어 NULL이 나옵니다. 이 문제는 결과 순서도 채점합니다.

과제

사원을 입사일이 빠른 순서로 나열하고 이름, 입사일, 급여, 직전 입사자의 급여, 현재 급여와 직전 급여의 차이를 조회하세요. 같은 입사일이면 사원번호가 작은 순서입니다.


📋 사용 데이터

부서 테이블

부서번호부서명지역
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로 따로 지정해야 합니다.