다음 ㉠, ㉡ SQL의 결과 행 수를 순서대로 나열한 것은?[온라인주문… | [SQLD] SQL 개발자 기출유형 모의고사 1회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 1회
다음 ㉠, ㉡ SQL의 결과 행 수를 순서대로 나열한 것은?

[온라인주문]

고객번호
1
2
2
3
(null)

[매장주문]

고객번호
3
4
4
(null)
㉠ SELECT 고객번호 FROM 온라인주문
   UNION
   SELECT 고객번호 FROM 매장주문;

㉡ SELECT 고객번호 FROM 온라인주문
   UNION ALL
   SELECT 고객번호 FROM 매장주문;
1
5, 9
2
7, 9
3
4, 7
4
4, 9
해설

UNION은 두 결과를 합친 뒤 전체 중복을 제거하므로 1, 2, 3, 4, NULL 의 5행이고, UNION ALL 은 중복을 그대로 두어 5+4=9행이다.

집합 연산의 중복 판정에서 NULL 은 서로 같은 값으로 취급되어 한 행으로 남는다.

  • 4행은 NULL 을 결과에서 빼 버린 계산이다.
  • 7행은 두 테이블에 걸친 중복만 지우고 한 테이블 안의 2·4 중복을 남긴 계산이다.
  • UNION ALL 도 NULL 행을 지우지 않으므로 7행이 될 수 없다.

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

이어서 풀어보기

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