ONLINE_SALE 테이블과 OFFLINE_SALE 테이블에서 2022년 3월의 오프라인/온라인 상품 판매 데이터의 판매 날짜, 상품ID, 유저ID, 판매량을 출력하는 SQL문을 작성해주세요. OFFLINE_SALE 테이블의 판매 데이터의 USER_ID 값은 NULL 로 표시해주세요. 결과는 판매일을 기준으로 오름차순 정렬해주시고 판매일이 같다면 상품 ID를 기준으로 오름차순, 상품ID까지 같다면 유저 ID를 기준으로 오름차순 정렬해주세요.
문제링크
조건정리
풀이
프로그래머스에서 보는 첫 UNION 문제
'통합'이라는 점에서 떠오르긴 했는데 정확히 기억이 안나서 다시 복습하고 왔따
🔗 UNION 정리
온라인/오프라인 데이터가 따로이니 중복제거 할 필요 없을 것 같아서 UNION ALL ㄱㄱ
SELECT DATE_FORMAT(sales_date, '%Y-%m-%d') AS sales_date,
product_id,
user_id,
sales_amount
FROM online_sale
WHERE DATE_FORMAT(sales_date, '%Y-%m') = '2022-03'
UNION ALL
SELECT DATE_FORMAT(sales_date, '%Y-%m-%d') AS sales_date,
product_id,
NULL AS user_id,
sales_amount
FROM offline_sale
WHERE DATE_FORMAT(sales_date, '%Y-%m') = '2022-03'
ORDER BY sales_date, product_id, user_id