-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
69c69ec
commit e1808e9
Showing
1 changed file
with
116 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,116 @@ | ||
--- | ||
layout: post | ||
title: 프로그래머스 >> JOIN >> 5월 식품들의 총매출 조회하기 | ||
subtitle: SQL | ||
date: '2024-01-08 20:37:51 +0900' | ||
categories: study | ||
tags: SQL | ||
comments: true | ||
published: true | ||
--- | ||
## 프로그래머스 >> JOIN >> 5월 식품들의 총매출 조회하기(MySQL) | ||
|
||
<h2>문제</h2> | ||
다음은 식품의 정보를 담은 <b>FOOD_PRODUCT</b> 테이블과 식품의 주문 정보를 담은 <b>FOOD_ORDER</b> 테이블입니다. <b>FOOD_PRODUCT</b> 테이블은 다음과 같으며 <b>PRODUCT_ID</b>, <b>PRODUCT_NAME</b>, <b>PRODUCT_CD</b>, <b>CATEGORY</b>, <b>PRICE</b>는 식품 ID, 식품 이름, 식품코드, 식품분류, 식품 가격을 의미합니다. | ||
<table> | ||
<thead> | ||
<th>NAME</th> | ||
<th>TYPE</th> | ||
<th>NULLABLE</th> | ||
</thead> | ||
<tbody> | ||
<tr> | ||
<td>PRODUCT_ID</td> | ||
<td>VARCHAR(10)</td> | ||
<td>FALSE</td> | ||
</tr> | ||
<tr> | ||
<td>PRODUCT_NAME</td> | ||
<td>VARCHAR(50)</td> | ||
<td>FALSE</td> | ||
</tr> | ||
<tr> | ||
<td>PRODUCT_CD</td> | ||
<td>VARCHAR(10)</td> | ||
<td>TRUE</td> | ||
</tr> | ||
<tr> | ||
<td>CATEGORY</td> | ||
<td>VARCHAR(10)</td> | ||
<td>TRUE</td> | ||
</tr> | ||
<tr> | ||
<td>PRICE</td> | ||
<td>NUMBER</td> | ||
<td>TRUE</td> | ||
</tr> | ||
</tbody> | ||
</table> | ||
<b>FOOD_ORDER</b> 테이블은 다음과 같으며 <b>ORDER_ID</b>, <b>PRODUCT_ID</b>, <b>AMOUNT</b>, <b>PRODUCE_DATE</b>, <b>IN_DATE</b>, <b>OUT_DATE</b>, <b>FACTORY_ID</b>, <b>WAREHOUSE_ID</b>는 각각 주문 ID, 제품 ID, 주문량, 생산일자, 입고일자, 출고일자, 공장 ID, 창고 ID를 의미합니다. | ||
<table> | ||
<thead> | ||
<th>NAME</th> | ||
<th>TYPE</th> | ||
<th>NULLABLE</th> | ||
</thead> | ||
<tbody> | ||
<tr> | ||
<td>ORDER_ID</td> | ||
<td>VARCHAR(10)</td> | ||
<td>FALSE</td> | ||
</tr> | ||
<tr> | ||
<td>PRODUCT_ID</td> | ||
<td>VARCHAR(5)</td> | ||
<td>FALSE</td> | ||
</tr> | ||
<tr> | ||
<td>AMOUNT</td> | ||
<td>NUMBER</td> | ||
<td>FALSE</td> | ||
</tr> | ||
<tr> | ||
<td>PRODUCE_DATE</td> | ||
<td>DATE</td> | ||
<td>TRUE</td> | ||
</tr> | ||
<tr> | ||
<td>IN_DATE</td> | ||
<td>DATE</td> | ||
<td>TRUE</td> | ||
</tr> | ||
<tr> | ||
<td>OUT_DATE</td> | ||
<td>DATE</td> | ||
<td>TRUE</td> | ||
</tr> | ||
<tr> | ||
<td>FACTORY_ID</td> | ||
<td>VARCHAR(10)</td> | ||
<td>FALSE</td> | ||
</tr> | ||
<tr> | ||
<td>WAREHOUSE_ID</td> | ||
<td>VARCHAR(10)</td> | ||
<td>FALSE</td> | ||
</tr> | ||
</tbody> | ||
</table> | ||
<b>FOOD_PRODUCT</b>와 <b>FOOD_ORDER</b> 테이블에서 생산일자가 2022년 5월인 식품들의 식품 ID, 식품 이름, 총매출을 조회하는 SQL문을 작성해주세요. 이때 결과는 총매출을 기준으로 내림차순 정렬해주시고 총매출이 같다면 식품 ID를 기준으로 오름차순 정렬해주세요.<br> | ||
<h2>코드</h2> | ||
```sql | ||
-- 5월 식품들의 총매출 조회하기 | ||
SELECT a.PRODUCT_ID, a.PRODUCT_NAME, SUM(b.AMOUNT)*a.PRICE as TOTAL_SALES | ||
FROM FOOD_PRODUCT as a JOIN FOOD_ORDER as b | ||
ON a.PRODUCT_ID=b.PRODUCT_ID | ||
WHERE b.PRODUCE_DATE LIKE '2022-05%' | ||
GROUP BY a.PRODUCT_ID | ||
ORDER BY SUM(b.AMOUNT)*a.PRICE DESC, a.PRODUCT_ID ASC | ||
``` | ||
<h2>학습</h2> | ||
WHERE DATE LIKE '2024-01%' -> 2024년 1월 데이터 다 추출 | ||
|
||
|
||
|
||
|
||
|