SQL 개발자 자격증SQL 활용윈도우 함수 FIRST_VALUE난이도 2MCQ

SQL 개발자 자격증 윈도우 함수 FIRST_VALUE 기출문제 #21836

문제

급여가 각각 1000, 2000, 3000인 세 행이 있는 사원 테이블에 대해 다음 SQL을 실행했을 때, 결과 컬럼에 나타나는 값을 위에서부터 순서대로 나열한 것은?

① 1000, 1000, 1000 ② 1000, 2000, 3000 ③ 3000, 2000, 1000 ④ 3000, 3000, 3000

정답

1

해설

정답은 ①이다. FIRST_VALUE는 윈도우(정렬된 파티션) 내에서 '첫 번째' 값을 반환한다. ORDER BY 급여(오름차순)로 정렬하면 파티션의 첫 값은 최소값인 1000이며, 이 값이 모든 행에 대해 동일하게 반환된다. 따라서 결과는 1000, 1000, 1000이다.

주의: ORDER BY만 있고 윈도우 프레임을 명시하지 않으면 기본 프레임은 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW다. FIRST_VALUE는 프레임의 시작(UNBOUNDED PRECEDING)을 가리키므로 어느 행에서 보든 첫 값 1000으로 고정된다.

  • ②: 급여 원본값을 그대로 나열한 오답(윈도우 함수 미적용 착각).
  • ③: 내림차순 정렬로 오해한 경우.
  • ④: LAST_VALUE 기본 프레임 결과(현재 행까지의 마지막=자기 자신)와 혼동한 값.

보충: 최소값 고정에 FIRST_VALUE+ORDER BY, 최대값에는 MAX() OVER() 또는 프레임을 확장한 LAST_VALUE를 쓴다.

SQL 개발자 자격증 SQL 활용 다른 기출문제

SQL 개발자 자격증 시험 준비 가이드

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

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

[SQL 개발자 자격증] 윈도우 함수 FIRST_VALUE SQL 활용 기출 #21836 | 문어CBT