문제
'갑' 테이블의 속성 A가 1, 2, 3, 4, 5의 도메인을 가지고 있고, '을' 테이블의 속성 A가 0, 2, 3, 4, 6의 도메인을 가지고 있다고 가정할 때 다음 SQL구문의 실행 결과는?
① 2, 3, 4 ② 0, 1, 2, 3, 4, 5, 6 ③ 1, 5, 6 ④ 0
정답
2번
해설
정답: 2. UNION 연산은 두 결과 집합을 합치되 중복된 값을 제거(합집합)한다. 갑{1,2,3,4,5}과 을{0,2,3,4,6}의 합집합은 {0,1,2,3,4,5,6}이다.
오답 풀이
- 1번: {2,3,4}는 두 집합의 교집합(INTERSECT)에 해당한다.
- 2번: 중복을 제거한 합집합 {0,1,2,3,4,5,6}이므로 옳다.
- 3번: {1,5,6}은 어느 한쪽에만 있는 값들로 합집합 전체가 아니다.
- 4번: {0}은 을 테이블에만 있는 한 값에 불과하다.
보충 개념 집합 연산자: UNION(합집합, 중복 제거), UNION ALL(중복 포함 합집합), INTERSECT(교집합), MINUS/EXCEPT(차집합). UNION은 자동으로 중복을 제거하고 정렬한다.