왜 알아야 할까요?
일반적으로 집합 연산자를 사용하는 상황은 서로 다른 테이블에서 유사한 형태의 결과를 반환 하는 것을 하나의 결과로 합치기 위해 사용한다.
동일 테이블에서 서로 다른 질의를 수행하여 결과를 합치고자 할 때 사용.
튜닝 관점에서 실행계획을 분리하고자 하는 목적으로 사용할 수 도 있다.
그래서 SET OPERATOR 가 뭔가요?
집합 연산자의 종류에는 4가지 종류가 있다.
집합 연산자 | 연산자의 의미 |
---|---|
UNION | 합집합 ( 중복이 없다 ) |
UNION ALL | 단순히 결과만 합친다. ( 중복이 존재한다. 정렬도 되지 않는다. ) |
INTERSECT | 교집합 ( 중복된 행은 하나의 행이 된다. ) |
EXCEPT | 차집합 ( 중복된 행은 하나의 행이 된다. ) |
집합 연산자를 사용하기 위해서는 칼럼의 수가 동일하고 SELCET 절의 동일 위치에 존재하는 칼럼의 데이터 타입이 상호 호환 가능해야 한다.( 반드시 같을 필요는 없음 )
🛑 UNION ALL VS UNION 🛑
UNION ALL은 단순히 합치기만 하기 때문에 중복이 존재하고 정렬도 되지 않는다.