Skip to content

Commit 11c8781

Browse files
committed
[level 4] Title: 5월 식품들의 총매출 조회하기, Time: , Memory: undefined -BaekjoonHub
1 parent 9a27844 commit 11c8781

2 files changed

Lines changed: 291 additions & 0 deletions

File tree

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
SELECT A.PRODUCT_ID, A.PRODUCT_NAME, SUM(B.AMOUNT) * PRICE as TOTAL_SALES
2+
FROM FOOD_PRODUCT A JOIN FOOD_ORDER B ON A.PRODUCT_ID = B.PRODUCT_ID
3+
WHERE YEAR(B.PRODUCE_DATE) = 2022 and MONTH(B.PRODUCE_DATE) = 5
4+
GROUP BY A.PRODUCT_ID
5+
ORDER BY TOTAL_SALES DESC, A.PRODUCT_ID
Lines changed: 286 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,286 @@
1+
# [level 4] 5월 식품들의 총매출 조회하기 - 131117
2+
3+
[문제 링크](https://school.programmers.co.kr/learn/courses/30/lessons/131117)
4+
5+
### 성능 요약
6+
7+
메모리: undefined, 시간:
8+
9+
### 구분
10+
11+
코딩테스트 연습 > JOIN
12+
13+
### 채점결과
14+
15+
합계: 100.0 / 100.0
16+
17+
### 제출 일자
18+
19+
2026년 06월 27일 19:28:24
20+
21+
### 문제 설명
22+
23+
<p>다음은 식품의 정보를 담은 <code>FOOD_PRODUCT</code> 테이블과 식품의 주문 정보를 담은 <code>FOOD_ORDER</code> 테이블입니다. <code>FOOD_PRODUCT</code> 테이블은 다음과 같으며 <code>PRODUCT_ID</code>, <code>PRODUCT_NAME</code>, <code>PRODUCT_CD</code>, <code>CATEGORY</code>, <code>PRICE</code>는 식품 ID, 식품 이름, 식품코드, 식품분류, 식품 가격을 의미합니다.</p>
24+
<table class="table">
25+
<thead><tr>
26+
<th>Column name</th>
27+
<th>Type</th>
28+
<th>Nullable</th>
29+
</tr>
30+
</thead>
31+
<tbody><tr>
32+
<td>PRODUCT_ID</td>
33+
<td>VARCHAR(10)</td>
34+
<td>FALSE</td>
35+
</tr>
36+
<tr>
37+
<td>PRODUCT_NAME</td>
38+
<td>VARCHAR(50)</td>
39+
<td>FALSE</td>
40+
</tr>
41+
<tr>
42+
<td>PRODUCT_CD</td>
43+
<td>VARCHAR(10)</td>
44+
<td>TRUE</td>
45+
</tr>
46+
<tr>
47+
<td>CATEGORY</td>
48+
<td>VARCHAR(10)</td>
49+
<td>TRUE</td>
50+
</tr>
51+
<tr>
52+
<td>PRICE</td>
53+
<td>NUMBER</td>
54+
<td>TRUE</td>
55+
</tr>
56+
</tbody>
57+
</table>
58+
<p><code>FOOD_ORDER</code> 테이블은 다음과 같으며 <code>ORDER_ID</code>, <code>PRODUCT_ID</code>, <code>AMOUNT</code>, <code>PRODUCE_DATE</code>, <code>IN_DATE</code>, <code>OUT_DATE</code>, <code>FACTORY_ID</code>, <code>WAREHOUSE_ID</code>는 각각 주문 ID, 제품 ID, 주문량, 생산일자, 입고일자, 출고일자, 공장 ID, 창고 ID를 의미합니다.</p>
59+
<table class="table">
60+
<thead><tr>
61+
<th>Column name</th>
62+
<th>Type</th>
63+
<th>Nullable</th>
64+
</tr>
65+
</thead>
66+
<tbody><tr>
67+
<td>ORDER_ID</td>
68+
<td>VARCHAR(10)</td>
69+
<td>FALSE</td>
70+
</tr>
71+
<tr>
72+
<td>PRODUCT_ID</td>
73+
<td>VARCHAR(5)</td>
74+
<td>FALSE</td>
75+
</tr>
76+
<tr>
77+
<td>AMOUNT</td>
78+
<td>NUMBER</td>
79+
<td>FALSE</td>
80+
</tr>
81+
<tr>
82+
<td>PRODUCE_DATE</td>
83+
<td>DATE</td>
84+
<td>TRUE</td>
85+
</tr>
86+
<tr>
87+
<td>IN_DATE</td>
88+
<td>DATE</td>
89+
<td>TRUE</td>
90+
</tr>
91+
<tr>
92+
<td>OUT_DATE</td>
93+
<td>DATE</td>
94+
<td>TRUE</td>
95+
</tr>
96+
<tr>
97+
<td>FACTORY_ID</td>
98+
<td>VARCHAR(10)</td>
99+
<td>FALSE</td>
100+
</tr>
101+
<tr>
102+
<td>WAREHOUSE_ID</td>
103+
<td>VARCHAR(10)</td>
104+
<td>FALSE</td>
105+
</tr>
106+
</tbody>
107+
</table>
108+
<hr>
109+
110+
<h5>문제</h5>
111+
112+
<p><code>FOOD_PRODUCT</code>와 <code>FOOD_ORDER</code> 테이블에서 생산일자가 2022년 5월인 식품들의 식품 ID, 식품 이름, 총매출을 조회하는 SQL문을 작성해주세요. 이때 결과는 총매출을 기준으로 내림차순 정렬해주시고 총매출이 같다면 식품 ID를 기준으로 오름차순 정렬해주세요.</p>
113+
114+
<hr>
115+
116+
<h5>예시</h5>
117+
118+
<p><code>FOOD_PRODUCT</code> 테이블이 다음과 같고</p>
119+
<table class="table">
120+
<thead><tr>
121+
<th>PRODUCT_ID</th>
122+
<th>PRODUCT_NAME</th>
123+
<th>PRODUCT_CD</th>
124+
<th>CATEGORY</th>
125+
<th>PRICE</th>
126+
</tr>
127+
</thead>
128+
<tbody><tr>
129+
<td>P0011</td>
130+
<td>맛있는콩기름</td>
131+
<td>CD_OL00001</td>
132+
<td>식용유</td>
133+
<td>4880</td>
134+
</tr>
135+
<tr>
136+
<td>P0012</td>
137+
<td>맛있는올리브유</td>
138+
<td>CD_OL00002</td>
139+
<td>식용유</td>
140+
<td>7200</td>
141+
</tr>
142+
<tr>
143+
<td>P0013</td>
144+
<td>맛있는포도씨유</td>
145+
<td>CD_OL00003</td>
146+
<td>식용유</td>
147+
<td>5950</td>
148+
</tr>
149+
<tr>
150+
<td>P0014</td>
151+
<td>맛있는마조유</td>
152+
<td>CD_OL00004</td>
153+
<td>식용유</td>
154+
<td>8950</td>
155+
</tr>
156+
<tr>
157+
<td>P0015</td>
158+
<td>맛있는화조유</td>
159+
<td>CD_OL00005</td>
160+
<td>식용유</td>
161+
<td>8800</td>
162+
</tr>
163+
<tr>
164+
<td>P0016</td>
165+
<td>맛있는참기름</td>
166+
<td>CD_OL00006</td>
167+
<td>식용유</td>
168+
<td>7100</td>
169+
</tr>
170+
<tr>
171+
<td>P0017</td>
172+
<td>맛있는들기름</td>
173+
<td>CD_OL00007</td>
174+
<td>식용유</td>
175+
<td>7900</td>
176+
</tr>
177+
<tr>
178+
<td>P0018</td>
179+
<td>맛있는고추기름</td>
180+
<td>CD_OL00008</td>
181+
<td>식용유</td>
182+
<td>6100</td>
183+
</tr>
184+
<tr>
185+
<td>P0019</td>
186+
<td>맛있는카놀라유</td>
187+
<td>CD_OL00009</td>
188+
<td>식용유</td>
189+
<td>5100</td>
190+
</tr>
191+
<tr>
192+
<td>P0020</td>
193+
<td>맛있는산초유</td>
194+
<td>CD_OL00010</td>
195+
<td>식용유</td>
196+
<td>6500</td>
197+
</tr>
198+
</tbody>
199+
</table>
200+
<p><code>FOOD_ORDER</code> 테이블이 다음과 같을 때</p>
201+
<table class="table">
202+
<thead><tr>
203+
<th>ORDER_ID</th>
204+
<th>PRODUCT_ID</th>
205+
<th>AMOUNT</th>
206+
<th>PRODUCE_DATE</th>
207+
<th>IN_DATE</th>
208+
<th>OUT_DATE</th>
209+
<th>FACTORY_ID</th>
210+
<th>WAREHOUSE_ID</th>
211+
</tr>
212+
</thead>
213+
<tbody><tr>
214+
<td>OD00000056</td>
215+
<td>P0012</td>
216+
<td>1000</td>
217+
<td>2022-04-04</td>
218+
<td>2022-04-21</td>
219+
<td>2022-04-25</td>
220+
<td>FT19980002</td>
221+
<td>WH0032</td>
222+
</tr>
223+
<tr>
224+
<td>OD00000057</td>
225+
<td>P0014</td>
226+
<td>2500</td>
227+
<td>2022-04-14</td>
228+
<td>2022-04-27</td>
229+
<td>2022-05-01</td>
230+
<td>FT19980002</td>
231+
<td>WH0033</td>
232+
</tr>
233+
<tr>
234+
<td>OD00000058</td>
235+
<td>P0017</td>
236+
<td>1200</td>
237+
<td>2022-05-19</td>
238+
<td>2022-05-28</td>
239+
<td>2022-05-28</td>
240+
<td>FT20070002</td>
241+
<td>WH0033</td>
242+
</tr>
243+
<tr>
244+
<td>OD00000059</td>
245+
<td>P0017</td>
246+
<td>1000</td>
247+
<td>2022-05-24</td>
248+
<td>2022-05-30</td>
249+
<td>2022-05-30</td>
250+
<td>FT20070002</td>
251+
<td>WH0038</td>
252+
</tr>
253+
<tr>
254+
<td>OD00000060</td>
255+
<td>P0019</td>
256+
<td>2000</td>
257+
<td>2022-05-29</td>
258+
<td>2022-06-08</td>
259+
<td>2022-06-08</td>
260+
<td>FT20070002</td>
261+
<td>WH0035</td>
262+
</tr>
263+
</tbody>
264+
</table>
265+
<p>SQL을 실행하면 다음과 같이 출력되어야 합니다.</p>
266+
<table class="table">
267+
<thead><tr>
268+
<th>PRODUCT_ID</th>
269+
<th>PRODUCT_NAME</th>
270+
<th>TOTAL_SALES</th>
271+
</tr>
272+
</thead>
273+
<tbody><tr>
274+
<td>P0017</td>
275+
<td>맛있는들기름</td>
276+
<td>17380000</td>
277+
</tr>
278+
<tr>
279+
<td>P0019</td>
280+
<td>맛있는카놀라유</td>
281+
<td>10200000</td>
282+
</tr>
283+
</tbody>
284+
</table>
285+
286+
> 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

0 commit comments

Comments
 (0)