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

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

[재고위치]

품목코드보관구역수량
P1B30
P2(null)10
P3A(null)
P4A50
P5(null)40
P6B20
SELECT 품목코드, 보관구역, 수량
  FROM 재고위치
 ORDER BY 보관구역 NULLS FIRST, 수량 DESC NULLS LAST;
1
품목코드보관구역수량
P4A50
P3A(null)
P1B30
P6B20
P5(null)40
P2(null)10
2
품목코드보관구역수량
P2(null)10
P5(null)40
P4A50
P3A(null)
P6B20
P1B30
3
품목코드보관구역수량
P5(null)40
P2(null)10
P3A(null)
P4A50
P1B30
P6B20
4
품목코드보관구역수량
P5(null)40
P2(null)10
P4A50
P3A(null)
P1B30
P6B20
해설

첫 정렬 키 보관구역은 NULLS FIRST 라 NULL 구역(P5·P2)이 맨 앞에 오고, 같은 구역 안에서는 수량 내림차순이다.

Oracle 은 DESC 에서 NULL 을 먼저 두지만 NULLS LAST 를 지정해 A 구역의 P3(수량 NULL)이 P4 뒤로 간다.

  • ASC 기본값(NULL 마지막)을 적용하면 NULL 구역이 끝에 오지만 NULLS FIRST 가 우선한다.
  • DESC 기본 NULL 위치를 따르면 P3 이 P4 앞에 오지만 NULLS LAST 로 바뀌었다.
  • 수량을 오름차순으로 보면 P2·P6 이 먼저 오지만 DESC 가 지정되었다.

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

이어서 풀어보기

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