Algorithm (PS)
[프로그래머스] 오프라인/온라인 판매 데이터 통합하기 MySQL
minjiwoo
2023. 1. 6. 10:45
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/131537
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
pandas 에서 concat 이랑 비슷한게 SQL에서는 UNION ALL 연산이다
UNION 연산은 각 쿼리 결과값의 합집합을 반환하며, 중복값을 제거하여 반환한다.
UNION ALL 연산은 각 쿼리 결과값의 합집합을 반환하며, 연산은 중복값을 제거하지 않고 반환한다.
또한 OFFLINE_SALES 테이블에는 USER_ID값이 없으니까 처음부터 NULL 로 초기화를 해주면 된다. -> NULL AS USER_ID
-- 코드를 입력하세요
SELECT date_format(SALES_DATE, "%Y-%m-%d") AS SALES_DATE,
a.PRODUCT_ID,
a.USER_ID,
a.SALES_AMOUNT
FROM ONLINE_SALE a
WHERE a.SALES_DATE >= '2022-03-01' AND a.SALES_DATE < '2022-04-01'
UNION ALL
SELECT date_format(SALES_DATE, "%Y-%m-%d") AS SALES_DATE,
b.PRODUCT_ID,
NULL AS USER_ID,
b.SALES_AMOUNT
FROM OFFLINE_SALE b
WHERE b.SALES_DATE >= '2022-03-01' AND b.SALES_DATE < '2022-04-01'
ORDER BY SALES_DATE, PRODUCT_ID, USER_ID
728x90