○ UNION ALL 사용하기
지금까지 알아본 UNION의 속성은, 일단 '합집합'이라는 기본 개념을 베이스로 동작하게 됩니다. 그리고 이 성질의 가장 큰 특징은 자연스럽게 중복되는 테이블의 데이터를 생략한다는 점이지요. 우리가 배웠었던 SELECT DISTINCT에서 DISTINCT 쿼리가 디폴트로 적용된다고 생각하시면 됩니다.
하지만 상황에 따라서, 테이블에서 UNION을 사용한다고 하더라도 중복되는 데이터를 모두 그대로 살려두어야 하는 경우도 있을 것입니다. 이럴 때 사용하는 쿼리가 바로 UNION ALL 입니다. 참고로, UNION ALL을 사용하게 되면 성능의 관점에서 DISTINCT 처리가 없어지게 되니 더 빠른 처리가 가능하다고 볼 수 있습니다. 만일 중복이 전혀 없는 데이터를 처리한다면 UNION ALL을 사용하는 것이 좀 더 빠르다고 볼 수 있겠네요.
앞서서 만들었던 sales2023_1과 sales2023_2 테이블을 사용하겠습니다. 일단 이 두 개의 테이블 전체를 UNION ALL로 출력해 보겠습니다.
select *
from sales2023_1
union all
select *
from sales2023_2;
아래와 같이 특정 칼럼만을 지정해서 사용하는 것도 당연히 가능합니다. NAME, AMOUNT만 각각 사용해 보겠습니다.
select name
from sales2023_1
union all
select name
from sales2023_2;
select amount
from sales2023_1
union all
select amount
from sales2023_2;
'Data Literacy > SQL' 카테고리의 다른 글
Chapter 3. 집합 연산자와 서브쿼리 - (2) UNION과 합집합 2 (0) | 2023.09.05 |
---|---|
Chapter 3. 집합 연산자와 서브쿼리 - (2) UNION과 합집합 1 (1) | 2023.08.30 |
Chapter 3. 집합 연산자와 서브쿼리 - (1) 관계형 데이터베이스의 정의 (0) | 2023.08.24 |
Chapter 2. JOIN을 이용한 데이터 조합 - (8) 그룹화 : GROUP BY & HAVING 5 [예제] (0) | 2023.08.10 |
Chapter 2. JOIN을 이용한 데이터 조합 - (8) 그룹화 : GROUP BY & HAVING 4 (0) | 2023.08.02 |