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

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

[예약]

승객번호편명
1KE101
1KE101
1KE205
2KE101
3OZ330
3OZ330
4(null)

[탑승]

승객번호편명
1KE101
2KE205
3OZ330
4(null)
SELECT 승객번호, 편명 FROM 예약
MINUS
SELECT 승객번호, 편명 FROM 탑승
ORDER BY 승객번호;
1
승객번호편명
1KE205
2KE101
4(null)
2
승객번호편명
1KE205
2KE101
3
승객번호편명
2KE205
4
승객번호편명
1KE101
1KE205
2KE101
3OZ330
해설

MINUS 는 승객번호와 편명을 함께 비교해 탑승에 없는 예약 행만 남기므로 (1, KE205)·(2, KE101) 두 행이 결과이다.

집합 연산자는 중복을 제거하므로 두 번 예약한 (1, KE101)·(3, OZ330) 도 탑승에 한 번 있으면 모두 사라지고, NULL 끼리는 같은 값으로 보아 (4, NULL) 도 제거된다.

  • (4, NULL) 이 남은 표는 집합 연산에서 NULL 을 서로 다른 값으로 본 결과이다.
  • (2, KE205) 만 있는 표는 탑승에서 예약을 뺀 반대 방향의 결과이다.
  • 네 행짜리 표는 중복 건수만큼 빼는 MINUS ALL 처럼 계산한 결과이다.

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

이어서 풀어보기

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