본문 바로가기

데이터베이스/ORACLE

[ORACLE] 집합 연산자 UNION 결과는 왜 정렬되어 출력되는가?

집합 연산자는 입력 쿼리 결과 두 개 이상을 단일 결과 조합으로 결합한다.

 

UNION : 중복을 제거한 합집합

>>> 중복을 제거하기 위해서는, 우선 정렬을 해야한다. 그래서 결과도 정렬되어서 출력된다.

>>> 교집합(중복)을 제거하기 위한 가장 효율적인 방법이 SORTING이다.

>>> OPTIMIZER의 실행 계획에 있다.

 

UNION ALL : 중복을 제거하지 않는 전체 합집합

>>> 중복을 제거할 필요가 없다. 즉, 정렬을 할 필요가 없다.