Oracle 기준으로 다음 SQL의 실행 결과로 옳은 것은?[접수]접수… | [SQLD] SQL 개발자 기출유형 모의고사 6회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 6회
Oracle 기준으로 다음 SQL의 실행 결과로 옳은 것은?

[접수]

접수번호진료과대기번호
1내과3
2(null)1
3외과2
4내과(null)
5내과1
6(null)4
SELECT 접수번호, 진료과, 대기번호
  FROM 접수
 ORDER BY 진료과 NULLS FIRST, 대기번호 DESC;
1
접수번호진료과대기번호
2(null)1
6(null)4
4내과(null)
1내과3
5내과1
3외과2
2
접수번호진료과대기번호
4내과(null)
1내과3
5내과1
3외과2
6(null)4
2(null)1
3
접수번호진료과대기번호
6(null)4
2(null)1
1내과3
5내과1
4내과(null)
3외과2
4
접수번호진료과대기번호
6(null)4
2(null)1
4내과(null)
1내과3
5내과1
3외과2
해설

진료과에 NULLS FIRST 를 주었으므로 진료과 NULL 인 6·2가 맨 앞에 오고, 그 안은 대기번호 DESC 라 4인 6이 먼저다.

Oracle 은 NULL 을 가장 큰 값으로 보아 DESC 정렬에서 NULL 이 맨 앞이므로 내과 안에서는 대기번호 NULL 인 4가 3·1보다 앞선다.

  • DESC 에서 NULL 을 맨 뒤로 보내는 것은 SQL Server 방식이다.
  • 진료과 NULL 그룹도 두 번째 키 DESC 로 정렬된다.
  • NULLS FIRST 를 지정했으므로 NULL 진료과가 뒤로 가지 않는다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[SQLD] SQL 개발자 기출유형 모의고사 6회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요SQLD SQL 개발자 실전 모의고사 암기장 전체 보기