SQLDSQL 활용LAG난이도 2MCQ

SQLD LAG 기출문제 #3856

문제

아래 SQL 결과를 출력하는 SQL로 알맞은 것은?

COL1COL2
1NULL
21
32

<조건> COL1 기준으로 정렬했을 때 이전 행의 COL1 값을 COL2처럼 출력한다.

① SELECT COL1, LAG(COL1) OVER (ORDER BY COL1) AS COL2 FROM T ② SELECT COL1, LEAD(COL1) OVER (ORDER BY COL1) AS COL2 FROM T ③ SELECT COL1, FIRST_VALUE(COL1) OVER (ORDER BY COL1) AS COL2 FROM T ④ SELECT COL1, ROW_NUMBER() OVER (ORDER BY COL1) AS COL2 FROM T

정답

1

해설

정답: 1. LAG는 현재 행 기준 이전 행의 값을 가져오므로 COL1이 1일 때 NULL, 2일 때 1, 3일 때 2를 반환한다.

오답 풀이

  • 1번: 이전 행 값을 가져오는 LAG 사용이 적절하다.
  • 2번: LEAD는 다음 행 값을 가져온다.
  • 3번: FIRST_VALUE는 윈도우의 첫 번째 값을 반환한다.
  • 4번: ROW_NUMBER는 행 번호를 반환한다.

보충 개념 LAG는 이전 행, LEAD는 다음 행의 값을 참조하는 윈도우 함수이다. 시계열 비교나 이전 값 대비 변화량 계산에 자주 사용된다.

SQLD 시험 준비 가이드

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

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

[SQLD] LAG SQL 활용 기출 #3856 | 문어CBT