다음 SQL의 [집합 연산자] 자리에 연산자를 바꿔 넣어 실행한 결과에… | [SQLD] SQL 개발자 기출유형 모의고사 1회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 1회
다음 SQL의 [집합 연산자] 자리에 연산자를 바꿔 넣어 실행한 결과에 대한 설명으로 옳은 것은? (MINUS 는 Oracle 의 차집합 연산자로 EXCEPT 와 같다)

[봄학기]

학번
10
20
20
30
(null)

[가을학기]

학번
20
40
(null)
SELECT 학번 FROM 봄학기
[집합 연산자]
SELECT 학번 FROM 가을학기;
1
MINUS 결과는 3행이다
2
INTERSECT 결과는 2행이다
3
UNION 결과에 NULL 행은 없다
4
UNION ALL 결과는 7행이다
해설

INTERSECT는 양쪽에 모두 있는 값을 중복 없이 돌려주는데, 집합 연산은 NULL 을 같은 값으로 비교하므로 20과 NULL 의 2행이 된다.

MINUS 는 봄학기에만 있는 10, 30을 중복 제거해 돌려준다.

  • MINUS 결과는 20의 중복과 무관하게 10·30 의 2행이다.
  • UNION 결과에는 NULL 이 한 행 포함된다.
  • UNION ALL 은 5행과 3행을 그대로 이어 8행이다.

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

이어서 풀어보기

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