SQLDSQL 활용난이도 3MCQ

SQLD SQL 활용 기출문제 #1285

문제

다음 SQL에서 집합 연산자의 실행 결과로 가장 적절한 것은?

SQL
-- 테이블 A: VALUES (1), (2), (3) -- 테이블 B: VALUES (2), (3), (4) -- 테이블 C: VALUES (3), (4), (5) SELECT * FROM A UNION ALL SELECT * FROM B EXCEPT SELECT * FROM C;

① {1, 2, 3, 2, 3, 4} - {3, 4, 5} = {1, 2, 2} ② {1, 2, 3, 4} - {3, 4, 5} = {1, 2} ③ 구문 오류 발생 ④ {1, 2, 2} (EXCEPT가 무시됨)

정답

2

해설

②가 정답입니다. 먼저 A UNION ALL B의 결과는 1, 2, 3, 2, 3, 4입니다. 그 다음 EXCEPT는 기본적으로 중복을 제거하는 집합 연산이므로, 왼쪽 결과의 distinct 값 {1, 2, 3, 4}에서 C의 값 {3, 4, 5}를 제외하면 최종 결과는 {1, 2}입니다. 즉 중복 2를 그대로 남기는 ①의 해설은 EXCEPT ALL과 혼동한 것입니다.

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[SQLD] SQL 활용 기출 #1285 | sqldpass