학습용 기출·복원자료 분류 확인SQLD · 2025년 58회 SQL 기본 및 활용 · 28번
다음 SQL 문에 포함된 정렬 및 추출 옵션의 결과로 올바른 것은?
ORDER BY SAL DESC NULLS LAST
FETCH FIRST 3 ROWS ONLY;
1
가장 급여가 높은 3명을 출력하되, 급여가 NULL인 데이터는 후순위로 미룬다.
정답 근거NULLS LAST는 NULL 값을 정렬 순서의 맨 뒤로 보내며, FETCH FIRST 3 ROWS ONLY는 상위 3개의 행만 출력한다. 이를 문항 조건에 적용하면 ‘가장 급여가 높은 3명을 출력하되, 급여가 NULL인 데이터는 후순위로 미룬다.’을 선택한다. 따라서 1번 보기 ‘가장 급여가 높은 3명을 출력하되, 급여가 NULL인 데이터는 후순위로 미룬다.’의 적용 여부를 문제 조건과 대조해야 한다.
2
가장 급여가 낮은 3명을 출력한다.
오답 이유‘가장 급여가 낮은 3명을 출력한다.’은 이 문항에서 요구하는 ‘가장 급여가 높은 3명을 출력하되, 급여가 NULL인 데이터는 후순위로 미룬다.’의 정의·역할과 구분된다. NULLS LAST는 NULL 값을 정렬 순서의 맨 뒤로 보내며, FETCH FIRST 3 ROWS ONLY는 상위 3개의 행만 출력한다. 이를 문항 조건에 적용하면 ‘가장 급여가 높은 3명을 출력하되, 급여가 NULL인 데이터는 후순위로 미룬다.’을 선택한다. 따라서 2번 보기 ‘가장 급여가 낮은 3명을 출력한다.’의 적용 여부를 문제 조건과 대조해야 한다.
3
가장 급여가 높은 3명을 출력하되, 급여가 NULL인 데이터를 우선 출력한다.
오답 이유‘가장 급여가 높은 3명을 출력하되, 급여가 NULL인 데이터를 우선 출력한다.’ 구문은 ‘가장 급여가 높은 3명을 출력하되, 급여가 NULL인 데이터는 후순위로 미룬다.’과 실행 결과나 적용 조건이 다르다. NULLS LAST는 NULL 값을 정렬 순서의 맨 뒤로 보내며, FETCH FIRST 3 ROWS ONLY는 상위 3개의 행만 출력한다. 이를 문항 조건에 적용하면 ‘가장 급여가 높은 3명을 출력하되, 급여가 NULL인 데이터는 후순위로 미룬다.’을 선택한다. 따라서 3번 보기 ‘가장 급여가 높은 3명을 출력하되, 급여가 NULL인 데이터를 우선 출력한다.’의 적용 여부를 문제 조건과 대조해야 한다.
4
급여와 상관없이 상위 3개의 행만 출력한다.
오답 이유‘급여와 상관없이 상위 3개의 행만 출력한다.’은 이 문항에서 요구하는 ‘가장 급여가 높은 3명을 출력하되, 급여가 NULL인 데이터는 후순위로 미룬다.’의 정의·역할과 구분된다. NULLS LAST는 NULL 값을 정렬 순서의 맨 뒤로 보내며, FETCH FIRST 3 ROWS ONLY는 상위 3개의 행만 출력한다. 이를 문항 조건에 적용하면 ‘가장 급여가 높은 3명을 출력하되, 급여가 NULL인 데이터는 후순위로 미룬다.’을 선택한다. 따라서 4번 보기 ‘급여와 상관없이 상위 3개의 행만 출력한다.’의 적용 여부를 문제 조건과 대조해야 한다.
ANSWER & EXPLANATION
정답 1번
핵심 판단은 1번 ‘가장 급여가 높은 3명을 출력하되, 급여가 NULL인 데이터는 후순위로 미룬다.’입니다. NULLS LAST는 NULL 값을 정렬 순서의 맨 뒤로 보내며, FETCH FIRST 3 ROWS ONLY는 상위 3개의 행만 출력한다. 이를 문항 조건에 적용하면 ‘가장 급여가 높은 3명을 출력하되, 급여가 NULL인 데이터는 후순위로 미룬다.’을 선택한다.