정보처리기사 실기SQLSQL - 윈도우 함수난이도 5SHORT_ANSWER

정보처리기사 실기 SQL - 윈도우 함수 기출문제 #334

문제

다음 [판매] 테이블에서 SQL문을 실행했을 때, 이름이 '박'인 행의 next_amount 값을 쓰시오.

이름지역금액
서울100
서울150
서울120
부산200
부산180
SQL
SELECT 이름, 지역, 금액, LEAD(금액, 1, -1) OVER (PARTITION BY 지역 ORDER BY 금액 ASC) AS next_amount FROM 판매;

정답

150

150

해설

PARTITION BY 지역으로 서울/부산 지역별로 분할되고, ORDER BY 금액 ASC로 금액 오름차순 정렬된다. 서울 지역에서는 김(100) → 박(120) → 이(150) 순으로 정렬된다. LEAD(금액, 1, -1)는 다음 행의 금액을 가져오는데, 박의 다음 행은 이(150)이므로 next_amount는 150이다.

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.