SQLDSQL 활용KEEP난이도 3MCQ

SQLD KEEP 기출문제 #3575

문제

다음 중 결과로 옳은 것은?

COL1COL2
110
120
230
340
350
SQL
SELECT MAX(COL2) KEEP(DENSE_RANK FIRST ORDER BY COL1) FROM TAB1;

① 10 ② 20 ③ 40 ④ 60

정답

2

해설

정답: 2. COL1 기준 DENSE_RANK FIRST는 COL1이 가장 작은 1인 행들을 선택하고, 그중 COL2의 최댓값은 20이다.

오답 풀이

  • 1번: COL1=1인 행 중 최솟값 10을 선택한 오류이다.
  • 2번: COL1이 가장 작은 그룹의 COL2 최댓값이므로 옳다.
  • 3번: COL1=3 그룹의 값으로 FIRST 조건에 맞지 않는다.
  • 4번: 존재하지 않는 계산 결과이다.

보충 개념 KEEP(DENSE_RANK FIRST ORDER BY 컬럼)은 정렬 기준으로 첫 번째 순위 그룹을 대상으로 집계한다. 이후 MAX, MIN 같은 집계 함수가 해당 그룹에 적용된다.

SQLD 시험 준비 가이드

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

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

[SQLD] KEEP SQL 활용 기출 #3575 | 문어CBT