
○ UNION ALL 사용하기
지금까지 알아본 UNION의 속성은, 일단 '합집합'이라는 기본 개념을 베이스로 동작하게 됩니다. 그리고 이 성질의 가장 큰 특징은 자연스럽게 중복되는 테이블의 데이터를 생략한다는 점이지요. 우리가 배웠었던 SELECT DISTINCT에서 DISTINCT 쿼리가 디폴트로 적용된다고 생각하시면 됩니다.
Chapter 3. 집합 연산자와 서브쿼리 - (2) UNION과 합집합 2
앞선 아티클에서 우리는 관계형 데이터베이스의 전반적인 용어의 개념과, 이를 바탕으로 합집합 개념인 UNION에 대해서 살펴보았습니다. Chapter 3. 집합 연산자와 서브쿼리 - (2) UNION과 합집합 1 우
nozeroslope.tistory.com
하지만 상황에 따라서, 테이블에서 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 |