SQL 개발자 자격증SQL 활용정렬·Top-N 조회난이도 2MCQ

SQL 개발자 자격증 정렬·Top-N 조회 기출문제 #20242

문제

다음 SQL 문에 포함된 정렬 및 추출 옵션의 결과로 올바른 것은?

① 가장 급여가 높은 3명을 출력하되, 급여가 NULL인 데이터는 후순위로 미룬다. ② 가장 급여가 낮은 3명을 출력한다. ③ 가장 급여가 높은 3명을 출력하되, 급여가 NULL인 데이터를 우선 출력한다. ④ 급여와 상관없이 상위 3개의 행만 출력한다.

정답

1

해설

정답: 1. SAL DESC 로 급여 내림차순(높은 순) 정렬, NULLS LAST 로 NULL 을 맨 뒤로 보낸 뒤, FETCH FIRST 3 ROWS ONLY 로 상위 3행만 가져온다.

오답 풀이

  • ①: 정답. 내림차순 + NULL 후순위 + 상위 3건 추출이라는 세 옵션의 의미를 모두 정확히 담았다.
  • ②: DESC 는 내림차순이므로 가장 낮은 3명이 아니라 가장 높은 3명이다.
  • ③: NULLS LAST 는 NULL 을 뒤로 미루는 것이라 우선 출력이 아니다.
  • ④: ORDER BY SAL 로 급여 기준 정렬이 적용되므로 '상관없이'가 아니다.

보충 개념 FETCH FIRST n ROWS ONLY 는 표준 SQL 의 Top-N 추출 구문으로 Oracle 12c 이상에서 지원한다. Oracle 기본 정렬은 ASC 시 NULLS LAST, DESC 시 NULLS FIRST 이므로, DESC 에서 NULL 을 뒤로 보내려면 NULLS LAST 를 명시해야 한다.

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

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

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

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

[SQL 개발자 자격증] 정렬·Top-N 조회 SQL 활용 기출 #20242 | 문어CBT