[MySQL] 오프라인/온라인 판매 데이터 통합하기 - SELECT

Saemi Min·2023년 2월 24일
0

MySQL

목록 보기
18/21
post-thumbnail

Level 4

문제

해당 문제 링크

정답

SELECT DATE_FORMAT(SALES_DATE, "%Y-%m-%d"), PRODUCT_ID, USER_ID, SALES_AMOUNT FROM ONLINE_SALE 
WHERE SALES_DATE LIKE "2022-03%"
UNION ALL
SELECT DATE_FORMAT(SALES_DATE, "%Y-%m-%d"), PRODUCT_ID, NULL AS USER_ID, SALES_AMOUNT FROM OFFLINE_SALE  
WHERE SALES_DATE LIKE "2022-03%"
ORDER BY 1, 2, 3

문법

쿼리문을 합쳐주는 UNION

UNION ALL

UNION ALL 연산자는 각각에 쿼리에서 나온 데이터를 하나로 합쳐주는 역할을 하고 있으며, 중복되는 값도 그대로 출력이 된다. (중복 O)

 SELECT ID, NAME FROM TABLE1 ;
 UNION ALL
 SELECT ID, NAME FROM TABLE2 ;

UNION

중복되는 부분은 하나에 로우로만 출력이 된다. => (중복X)

 SELECT ID, NAME FROM TABLE1 ;
 UNION
 SELECT ID, NAME FROM TABLE2 ;

profile
I believe in myself.

0개의 댓글