문제
다음 집합 연산자 중, 결과 집합에서 중복 행을 제거하지 않고 그대로 반환하는 것은?
① UNION ② UNION ALL ③ INTERSECT ④ EXCEPT (MINUS)
정답
2번
해설
UNION ALL 은 두 결과 집합을 단순히 이어 붙이며 중복 제거(정렬)를 수행하지 않아 중복 행이 그대로 남는다. → 정답 ②. ① UNION 은 합집합을 만들며 중복을 제거한다. ③ INTERSECT 는 교집합으로 중복을 제거한 공통 행만 반환한다. ④ EXCEPT(오라클 MINUS)는 차집합으로 역시 중복을 제거한다. UNION/INTERSECT/EXCEPT 는 내부적으로 정렬·중복 제거가 일어나 상대적으로 비용이 크지만, UNION ALL 은 그 과정이 없어 성능상 유리하다는 점도 함께 알아 둘 것.