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

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

문제

다음 [재고] 테이블에서 SQL문을 실행했을 때 제품명이 'D'인 행의 prev_qty 값을 쓰시오.

제품명수량
A80
B120
C90
D160
SQL
SELECT 제품명, 수량, LAG(수량, 2, -1) OVER (ORDER BY 제품명) AS prev_qty FROM 재고;

정답

120

120

해설

LAG(수량, 2, -1)는 현재 행에서 2행 이전의 수량 값을 반환하며, 값이 없으면 기본값 -1을 반환합니다.

  1. ORDER BY 제품명으로 정렬하면 'A', 'B', 'C', 'D' 순서가 됩니다.
  2. 제품명 'D'는 네 번째 행입니다.
  3. LAG(수량, 2)는 현재 행에서 2행 이전의 값을 가져옵니다.
  4. 'D'에서 2행 이전은 두 번째 행인 'B'입니다.
  5. 'B'의 수량은 120이므로, 제품명 'D'의 prev_qty 값은 120입니다.

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

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