문제
두 SQL 집합 A, B에 대해 UNION ALL의 결과를 개념적으로 표현한 것으로 가장 적절한 것은?
① UNION 결과와 INTERSECT 결과를 함께 포함한다. ② UNION 결과에서 INTERSECT 결과를 제거한다. ③ INTERSECT 결과만 반환한다. ④ MINUS 결과만 반환한다.
정답
1번
해설
정답: 1. UNION ALL은 중복을 제거하지 않으므로, 중복 제거된 UNION 결과에 중복되는 INTERSECT 결과를 추가로 포함한 것과 개념적으로 유사하다.
오답 풀이
- 1번: UNION ALL의 중복 포함 성격을 설명한다.
- 2번: 중복되는 값을 제거하는 방향이므로 UNION ALL과 다르다.
- 3번: 공통 부분만 반환하므로 다르다.
- 4번: 차집합만 반환하므로 다르다.
보충 개념 UNION은 중복을 제거하고 UNION ALL은 중복을 제거하지 않는다. 두 집합에 모두 존재하는 행은 UNION ALL에서 중복되어 나타날 수 있다.