From 3f07371dde2d9b03c1d783bdd5670369fd3f3020 Mon Sep 17 00:00:00 2001 From: SSUM <116950962+ssum21@users.noreply.github.com> Date: Thu, 6 Mar 2025 11:36:20 +0900 Subject: [PATCH] =?UTF-8?q?[level=204]=20Title:=20=EC=98=A4=ED=94=84?= =?UTF-8?q?=EB=9D=BC=EC=9D=B8/=EC=98=A8=EB=9D=BC=EC=9D=B8=20=ED=8C=90?= =?UTF-8?q?=EB=A7=A4=20=EB=8D=B0=EC=9D=B4=ED=84=B0=20=ED=86=B5=ED=95=A9?= =?UTF-8?q?=ED=95=98=EA=B8=B0,=20Time:=200.00=20ms,=20Memory:=200.0=20MB?= =?UTF-8?q?=20-BaekjoonHub?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md | 263 ++++++++++++++++++ .../오프라인/온라인 판매 데이터 통합하기.sql | 23 ++ 2 files changed, 286 insertions(+) create mode 100644 프로그래머스/4/131537. 오프라인/온라인 판매 데이터 통합하기/README.md create mode 100644 프로그래머스/4/131537. 오프라인/온라인 판매 데이터 통합하기/오프라인/온라인 판매 데이터 통합하기.sql diff --git a/프로그래머스/4/131537. 오프라인/온라인 판매 데이터 통합하기/README.md b/프로그래머스/4/131537. 오프라인/온라인 판매 데이터 통합하기/README.md new file mode 100644 index 0000000..ed8cdb6 --- /dev/null +++ b/프로그래머스/4/131537. 오프라인/온라인 판매 데이터 통합하기/README.md @@ -0,0 +1,263 @@ +# [level 4] 오프라인/온라인 판매 데이터 통합하기 - 131537 + +[문제 링크](https://school.programmers.co.kr/learn/courses/30/lessons/131537) + +### 성능 요약 + +메모리: 0.0 MB, 시간: 0.00 ms + +### 구분 + +코딩테스트 연습 > SELECT + +### 채점결과 + +Empty + +### 제출 일자 + +2025년 03월 06일 11:36:19 + +### 문제 설명 + +
다음은 어느 의류 쇼핑몰의 온라인 상품 판매 정보를 담은 ONLINE_SALE 테이블과 오프라인 상품 판매 정보를 담은 OFFLINE_SALE 테이블 입니다. ONLINE_SALE 테이블은 아래와 같은 구조로 되어있으며 ONLINE_SALE_ID, USER_ID, PRODUCT_ID, SALES_AMOUNT, SALES_DATE는 각각 온라인 상품 판매 ID, 회원 ID, 상품 ID, 판매량, 판매일을 나타냅니다.
| Column name | +Type | +Nullable | +
|---|---|---|
| ONLINE_SALE_ID | +INTEGER | +FALSE | +
| USER_ID | +INTEGER | +FALSE | +
| PRODUCT_ID | +INTEGER | +FALSE | +
| SALES_AMOUNT | +INTEGER | +FALSE | +
| SALES_DATE | +DATE | +FALSE | +
동일한 날짜, 회원 ID, 상품 ID 조합에 대해서는 하나의 판매 데이터만 존재합니다.
+ +OFFLINE_SALE 테이블은 아래와 같은 구조로 되어있으며 OFFLINE_SALE_ID, PRODUCT_ID, SALES_AMOUNT, SALES_DATE는 각각 오프라인 상품 판매 ID, 상품 ID, 판매량, 판매일을 나타냅니다.
| Column name | +Type | +Nullable | +
|---|---|---|
| OFFLINE_SALE_ID | +INTEGER | +FALSE | +
| PRODUCT_ID | +INTEGER | +FALSE | +
| SALES_AMOUNT | +INTEGER | +FALSE | +
| SALES_DATE | +DATE | +FALSE | +
동일한 날짜, 상품 ID 조합에 대해서는 하나의 판매 데이터만 존재합니다.
+ +ONLINE_SALE 테이블과 OFFLINE_SALE 테이블에서 2022년 3월의 오프라인/온라인 상품 판매 데이터의 판매 날짜, 상품ID, 유저ID, 판매량을 출력하는 SQL문을 작성해주세요. OFFLINE_SALE 테이블의 판매 데이터의 USER_ID 값은 NULL 로 표시해주세요. 결과는 판매일을 기준으로 오름차순 정렬해주시고 판매일이 같다면 상품 ID를 기준으로 오름차순, 상품ID까지 같다면 유저 ID를 기준으로 오름차순 정렬해주세요.
예를 들어 ONLINE_SALE 테이블이 다음과 같고
| ONLINE_SALE_ID | +USER_ID | +PRODUCT_ID | +SALES_AMOUNT | +SALES_DATE | +
|---|---|---|---|---|
| 1 | +1 | +3 | +2 | +2022-02-25 | +
| 2 | +4 | +4 | +1 | +2022-03-01 | +
| 4 | +2 | +2 | +2 | +2022-03-02 | +
| 3 | +6 | +3 | +3 | +2022-03-02 | +
| 5 | +5 | +5 | +1 | +2022-03-03 | +
| 6 | +5 | +7 | +1 | +2022-04-06 | +
OFFLINE_SALE 테이블이 다음과 같다면
| OFFLINE_SALE_ID | +PRODUCT_ID | +SALES_AMOUNT | +SALES_DATE | +
|---|---|---|---|
| 1 | +1 | +2 | +2022-02-21 | +
| 4 | +1 | +2 | +2022-03-01 | +
| 3 | +3 | +3 | +2022-03-01 | +
| 2 | +4 | +1 | +2022-03-01 | +
| 5 | +2 | +1 | +2022-03-03 | +
| 6 | +2 | +1 | +2022-04-01 | +
각 테이블의 2022년 3월의 판매 데이터를 합쳐서, 정렬한 결과는 다음과 같아야 합니다.
+| SALES_DATE | +PRODUCT_ID | +USER_ID | +SALES_AMOUNT | +
|---|---|---|---|
| 2022-03-01 | +1 | +NULL | +2 | +
| 2022-03-01 | +3 | +NULL | +3 | +
| 2022-03-01 | +4 | +NULL | +1 | +
| 2022-03-01 | +4 | +4 | +1 | +
| 2022-03-02 | +2 | +2 | +2 | +
| 2022-03-02 | +3 | +6 | +3 | +
| 2022-03-03 | +2 | +NULL | +1 | +
| 2022-03-03 | +5 | +5 | +1 | +