오프라인•온라인 판매 데이터 통합하기
https://school.programmers.co.kr/learn/courses/30/lessons/131537
- 문제 풀이
1
2
3
4
5
6
7
8
9
10
SELECT TO_CHAR(SALES_DATE, 'YYYY-MM-DD') AS SALES_DATE, PRODUCT_ID, NVL(USER_ID, NULL) AS "USER_ID", SALES_AMOUNT
FROM (
SELECT SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNT
FROM ONLINE_SALE
WHERE TO_CHAR(SALES_DATE, 'YYYY-MM') = '2022-03'
UNION
SELECT SALES_DATE, PRODUCT_ID, NULL AS "USER_ID", SALES_AMOUNT
FROM OFFLINE_SALE
WHERE TO_CHAR(SALES_DATE, 'YYYY-MM') = '2022-03'
);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
SELECT
TO_CHAR(A.SALES_DATE, 'YYYY-MM-DD') AS SALES_DATE,
A.PRODUCT_ID,
A.USER_ID,
A.SALES_AMOUNT
FROM (
SELECT
USER_ID,
PRODUCT_ID,
SALES_AMOUNT,
SALES_DATE
FROM
ONLINE_SALE
WHERE
TO_CHAR(SALES_DATE, 'MM') = '03'
UNION
SELECT
NULL AS USER_ID,
PRODUCT_ID,
SALES_AMOUNT,
SALES_DATE
FROM
OFFLINE_SALE
WHERE
TO_CHAR(SALES_DATE, 'MM') = '03'
) A
ORDER BY
SALES_DATE, A.PRODUCT_ID, A.USER_ID;
- INNER JOIN & FULL OUTER JOIN
- UNION
- 오답 - 문제가 요구하는 바와 다르다.
- 실행 결과
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.