2023. 1. 31. 15:03ใ์ฝ๋ฉํ ์คํธ ์ฐ์ต/ํ๋ก๊ทธ๋๋จธ์ค_2023
๋ฌธ์ ์ค๋ช
๋ค์์ ์์ด์คํฌ๋ฆผ ๊ฐ๊ฒ์ ์๋ฐ๊ธฐ ์ฃผ๋ฌธ ์ ๋ณด๋ฅผ ๋ด์ FIRST_HALF ํ ์ด๋ธ๊ณผ ์์ด์คํฌ๋ฆผ ์ฑ๋ถ์ ๋ํ ์ ๋ณด๋ฅผ ๋ด์ ICECREAM_INFO ํ ์ด๋ธ์ ๋๋ค. FIRST_HALF ํ ์ด๋ธ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ, SHIPMENT_ID, FLAVOR, TOTAL_ORDER ๋ ๊ฐ๊ฐ ์์ด์คํฌ๋ฆผ ๊ณต์ฅ์์ ์์ด์คํฌ๋ฆผ ๊ฐ๊ฒ๊น์ง์ ์ถํ ๋ฒํธ, ์์ด์คํฌ๋ฆผ ๋ง, ์๋ฐ๊ธฐ ์์ด์คํฌ๋ฆผ ์ด์ฃผ๋ฌธ๋์ ๋ํ๋ ๋๋ค. FIRST_HALF ํ ์ด๋ธ์ ๊ธฐ๋ณธ ํค๋ FLAVOR์ ๋๋ค.
NAME TYPE NULLABLE
SHIPMENT_ID | INT(N) | FALSE |
FLAVOR | VARCHAR(N) | FALSE |
TOTAL_ORDER | INT(N) | FALSE |
ICECREAM_INFO ํ ์ด๋ธ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ, FLAVOR, INGREDITENT_TYPE ์ ๊ฐ๊ฐ ์์ด์คํฌ๋ฆผ ๋ง, ์์ด์คํฌ๋ฆผ์ ์ฑ๋ถ ํ์ ์ ๋ํ๋ ๋๋ค. INGREDIENT_TYPE์๋ ์์ด์คํฌ๋ฆผ์ ์ฃผ ์ฑ๋ถ์ด ์คํ์ด๋ฉด sugar_based๋ผ๊ณ ์ ๋ ฅ๋๊ณ , ์์ด์คํฌ๋ฆผ์ ์ฃผ ์ฑ๋ถ์ด ๊ณผ์ผ์ด๋ฉด fruit_based๋ผ๊ณ ์ ๋ ฅ๋ฉ๋๋ค. ICECREAM_INFO์ ๊ธฐ๋ณธ ํค๋ FLAVOR์ ๋๋ค. ICECREAM_INFOํ ์ด๋ธ์ FLAVOR๋ FIRST_HALF ํ ์ด๋ธ์ FLAVOR์ ์ธ๋ ํค์ ๋๋ค.
NAME TYPE NULLABLE
FLAVOR | VARCHAR(N) | FALSE |
INGREDIENT_TYPE | VARCHAR(N) | FALSE |
๋ฌธ์
์๋ฐ๊ธฐ ๋์ ๊ฐ ์์ด์คํฌ๋ฆผ ์ฑ๋ถ ํ์ ๊ณผ ์ฑ๋ถ ํ์ ์ ๋ํ ์์ด์คํฌ๋ฆผ์ ์ด์ฃผ๋ฌธ๋์ ์ด์ฃผ๋ฌธ๋์ด ์์ ์์๋๋ก ์กฐํํ๋ SQL ๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ์ด๋ ์ด์ฃผ๋ฌธ๋์ ๋ํ๋ด๋ ์ปฌ๋ผ๋ช ์ TOTAL_ORDER๋ก ์ง์ ํด์ฃผ์ธ์.
์์
์๋ฅผ ๋ค์ด FIRST_HALF ํ ์ด๋ธ์ด ๋ค์๊ณผ ๊ฐ๊ณ
SHIPMENT_ID FLAVOR TOTAL_ORDER101 | chocolate | 3200 |
102 | vanilla | 2800 |
103 | mint_chocolate | 1700 |
104 | caramel | 2600 |
105 | white_chocolate | 3100 |
106 | peach | 2450 |
107 | watermelon | 2150 |
108 | mango | 2900 |
109 | strawberry | 3100 |
110 | melon | 3150 |
111 | orange | 2900 |
112 | pineapple | 2900 |
ICECREAM_INFO ํ ์ด๋ธ์ด ๋ค์๊ณผ ๊ฐ๋ค๋ฉด
FLAVOR INGREDIENT_TYPEchocolate | sugar_based |
vanilla | sugar_based |
mint_chocolate | sugar_based |
caramel | sugar_based |
white_chocolate | sugar_based |
peach | fruit_based |
watermelon | fruit_based |
mango | fruit_based |
strawberry | fruit_based |
melon | fruit_based |
orange | fruit_based |
pineapple | fruit_based |
์๋ฐ๊ธฐ์ ์์ด์คํฌ๋ฆผ์ ์ฃผ ์ฑ๋ถ์ด ์คํ์ธ ์์ด์คํฌ๋ฆผ๋ค์ ๋ํ ์ด์ฃผ๋ฌธ๋์ ๊ตฌํ๋ฉด 3,200 + 2,800 + 1,700 + 2,600 + 3,100 = 13,400์ ๋๋ค. ์์ด์คํฌ๋ฆผ์ ์ฃผ ์ฑ๋ถ์ด ๊ณผ์ผ์ธ ์์ด์คํฌ๋ฆผ๋ค์ ๋ํ ์ด์ฃผ๋ฌธ๋์ ๊ตฌํ๋ฉด 3,100 + 2,450 + 2,150 + 2,900 + 3,150 + 2,900 + 2,900 = 19,550์ ๋๋ค. ๋ฐ๋ผ์ ์ด์ฃผ๋ฌธ๋์ด ์์ ์์๋๋ก ์กฐํํ๋ SQL ๋ฌธ์ ์คํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋์์ผ ํฉ๋๋ค.
INGREDIENT_TYPE TOTAL_ORDER
sugar_based | 13400 |
fruit_based | 19550 |
๋์ ํ์ด
์ด ๋ฌธ์ ๋ ๊ฐ๋จํ๊ฒ GROUP BY๋ฅผ ํตํด์ ํ ์ ์๋ ๋ฌธ์ ์ด๋ค.
FIRST_HALF ํ ์ด๋ธ๊ณผ ICECREAM_INFO ํ ์ด๋ธ์ ์๋ FLAVOR๋ฅผ ํตํด ์กฐ์ธ์ ํ๊ณ ,
๊ฑฐ๊ธฐ์ ์์ด์คํฌ๋ฆผ ์ฑ๋ถ ํ์ ๊ณผ SUM์ ํตํด์ ์ด ์ฃผ๋ฌธ๋์ ๊ตฌํ๋ฉด ๋๋ค.