[SQL 문제 풀기] 오프라인/온라인 판매 데이터 통합하기

화낼거양's avatar
Nov 22, 2024
[SQL 문제 풀기] 오프라인/온라인 판매 데이터 통합하기
 
 

문제

 
notion image
 
notion image
 

정답

 
SELECT DATE_Format(SALES_DATE, '%Y-%m-%d') AS SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNT FROM ONLINE_SALE WHERE Month(SALES_DATE) = 3 UNION SELECT DATE_Format(SALES_DATE, '%Y-%m-%d') AS SALES_DATE, PRODUCT_ID, Null AS USER_ID, SALES_AMOUNT FROM OFFLINE_SALE WHERE Month(SALES_DATE) = 3 ORDER BY SALES_DATE ASC, PRODUCT_ID ASC, USER_ID ASC;
 
 
 

참고 사항

 
  • DATE_Format(SALES_DATE, '%Y-%m-%d'): SALES_DATE를 'YYYY-MM-DD' 형식으로 포맷합니다.
 
  • WHERE Month(SALES_DATE) = 3: SALES_DATE가 3월인 데이터만 선택합니다.
 
  • UNION: 두 개의 SELECT 쿼리 결과를 합치며, 중복된 행은 제거합니다.
 
  • NULL AS USER_ID: 오프라인 판매 데이터에서는 USER_ID를 항상 NULL로 설정합니다.
 
  • FROM OFFLINE_SALE: OFFLINE_SALE 테이블에서 데이터를 가져옵니다.
 
 
Share article

moohyun