𝙎𝙌𝙇

[MySQL] 두 테이블 합치기 : UNION / UNION ALL 차이

콜라맛갈비 2023. 1. 14. 17:34
728x90

UNION / UNION ALL 차이

[UNION]

- 두 개의 테이블을 하나로 합칠 때 사용

- 두 테이블의 컬럼 수, 컬럼 데이터 형식이 같아야 함

- 중복 데이터 제거

- 정렬 발생

 

 

 

[UNION ALL]

- 두 개의 테이블을 하나로 합칠 때 사용

- 두 테이블의 컬럼 수, 컬럼 데이터 형식이 같아야 함

- 중복 제거 X

- 정렬 X

 

 

EX)

SELECT DATE_FORMAT(SALES_DATE, '%Y-%m-%d') SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNT
FROM ONLINE_SALE
WHERE MONTH(SALES_DATE) = 3
UNION ALL
SELECT DATE_FORMAT(SALES_DATE, '%Y-%m-%d') SALES_DATE, PRODUCT_ID, NULL USER_ID, SALES_AMOUNT
FROM OFFLINE_SALE
WHERE MONTH(SALES_DATE) = 3
ORDER BY SALES_DATE, PRODUCT_ID, USER_ID

 

728x90