본문 바로가기

SQL 데이터 분석

[SQL스터디] Union all로 테이블 합치기

안녕하세요 오늘은 Union all에 대해서 스터디해보려고 합니다.

 

union all은 동일한 컬럼을 가진 두테이블을 행으로 즉, 세로로 합치는 집합연산자입니다.

이 때 컬럼은 반드시 동일해야 합니다. 

 

그럼 실습을 해볼텐데요. 아래 두개 테이블이 있습니다.

 

첫번째는 co_orders라는 테이블이고요.

두번째는 oe_orders라는 테이블입니다.

앞서 말씀드렸듯이 두테이블을 합치려면 컬럼갯수와 컬럼명이 동일해야합니다.

저는 order_id 컬럼만 합쳐보고 총 order_id를 세어보도록 할게요.

 

쿼리문은 아래와 같습니다. 참 쉽죠??

SELECT  order_id
FROM `studied-triode-319007.shipcmh_dataset.oe_orders` 

union all

SELECT  order_id
FROM `studied-triode-319007.shipcmh_dataset.co_orders` 


LIMIT 1000

이렇게 테이블이 order_id 데이터로 합쳐진것을 확인할 수 있습니다.

저는 with절을 통해 아래 order_id를 세어보도록 할게요

 

 

with절로 union all로 합쳐진 파일을 묶고 select를 통해 추출해보았습니다.

with ord_total as
(SELECT  order_id
FROM `studied-triode-319007.shipcmh_dataset.oe_orders` 

union all

SELECT  order_id
FROM `studied-triode-319007.shipcmh_dataset.co_orders` )


select count(order_id)
from ord_total