๐Ÿฆ[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์„ฑ๋ถ„์œผ๋กœ ๊ตฌ๋ถ„ํ•œ ์•„์ด์Šคํฌ๋ฆผ ์ด ์ฃผ๋ฌธ๋Ÿ‰

Chobbyยท2022๋…„ 12์›” 16์ผ
1

SQL

๋ชฉ๋ก ๋ณด๊ธฐ
31/41

๐Ÿงก๋ฌธ์ œ ์„ค๋ช…

๋‹ค์Œ์€ ์•„์ด์Šคํฌ๋ฆผ ๊ฐ€๊ฒŒ์˜ ์ƒ๋ฐ˜๊ธฐ ์ฃผ๋ฌธ ์ •๋ณด๋ฅผ ๋‹ด์€ FIRST_HALF ํ…Œ์ด๋ธ”๊ณผ ์•„์ด์Šคํฌ๋ฆผ ์„ฑ๋ถ„์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‹ด์€ ICECREAM_INFO ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค. FIRST_HALF ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์œผ๋ฉฐ, SHIPMENT_ID, FLAVOR, TOTAL_ORDER ๋Š” ๊ฐ๊ฐ ์•„์ด์Šคํฌ๋ฆผ ๊ณต์žฅ์—์„œ ์•„์ด์Šคํฌ๋ฆผ ๊ฐ€๊ฒŒ๊นŒ์ง€์˜ ์ถœํ•˜ ๋ฒˆํ˜ธ, ์•„์ด์Šคํฌ๋ฆผ ๋ง›, ์ƒ๋ฐ˜๊ธฐ ์•„์ด์Šคํฌ๋ฆผ ์ด์ฃผ๋ฌธ๋Ÿ‰์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. FIRST_HALF ํ…Œ์ด๋ธ”์˜ ๊ธฐ๋ณธ ํ‚ค๋Š” FLAVOR์ž…๋‹ˆ๋‹ค.

NAMETYPENULLABLE
SHIPMENT_IDINT(N)FALSE
FLAVORVARCHAR(N)FALSE
TOTAL_ORDERINT(N)FALSE

ICECREAM_INFO ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์œผ๋ฉฐ, FLAVOR, INGREDITENT_TYPE ์€ ๊ฐ๊ฐ ์•„์ด์Šคํฌ๋ฆผ ๋ง›, ์•„์ด์Šคํฌ๋ฆผ์˜ ์„ฑ๋ถ„ ํƒ€์ž…์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. INGREDIENT_TYPE์—๋Š” ์•„์ด์Šคํฌ๋ฆผ์˜ ์ฃผ ์„ฑ๋ถ„์ด ์„คํƒ•์ด๋ฉด sugar_based๋ผ๊ณ  ์ž…๋ ฅ๋˜๊ณ , ์•„์ด์Šคํฌ๋ฆผ์˜ ์ฃผ ์„ฑ๋ถ„์ด ๊ณผ์ผ์ด๋ฉด fruit_based๋ผ๊ณ  ์ž…๋ ฅ๋ฉ๋‹ˆ๋‹ค. ICECREAM_INFO์˜ ๊ธฐ๋ณธ ํ‚ค๋Š” FLAVOR์ž…๋‹ˆ๋‹ค. ICECREAM_INFOํ…Œ์ด๋ธ”์˜ FLAVOR๋Š” FIRST_HALF ํ…Œ์ด๋ธ”์˜ FLAVOR์˜ ์™ธ๋ž˜ ํ‚ค์ž…๋‹ˆ๋‹ค.

NAMETYPENULLABLE
FLAVORVARCHAR(N)FALSE
INGREDIENT_TYPEVARCHAR(N)FALSE

๐Ÿ’›๋ฌธ์ œ

์ƒ๋ฐ˜๊ธฐ ๋™์•ˆ ๊ฐ ์•„์ด์Šคํฌ๋ฆผ ์„ฑ๋ถ„ ํƒ€์ž…๊ณผ ์„ฑ๋ถ„ ํƒ€์ž…์— ๋Œ€ํ•œ ์•„์ด์Šคํฌ๋ฆผ์˜ ์ด์ฃผ๋ฌธ๋Ÿ‰์„ ์ด์ฃผ๋ฌธ๋Ÿ‰์ด ์ž‘์€ ์ˆœ์„œ๋Œ€๋กœ ์กฐํšŒํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ์ด์ฃผ๋ฌธ๋Ÿ‰์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ปฌ๋Ÿผ๋ช…์€ TOTAL_ORDER๋กœ ์ง€์ •ํ•ด์ฃผ์„ธ์š”.


๐Ÿ’š์˜ˆ์‹œ

์˜ˆ๋ฅผ ๋“ค์–ด FIRST_HALF ํ…Œ์ด๋ธ”์ด ๋‹ค์Œ๊ณผ ๊ฐ™๊ณ 

SHIPMENT_IDFLAVORTOTAL_ORDER
101chocolate3200
102vanilla2800
103mint_chocolate1700
104caramel2600
105white_chocolate3100
106peach2450
107watermelon2150
108mango2900
109strawberry3100
110melon3150
111orange2900
112pineapple2900

ICECREAM_INFO ํ…Œ์ด๋ธ”์ด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค๋ฉด

FLAVORINGREDIENT_TYPE
chocolatesugar_based
vanillasugar_based
mint_chocolatesugar_based
caramelsugar_based
white_chocolatesugar_based
peachfruit_based
watermelonfruit_based
mangofruit_based
strawberryfruit_based
melonfruit_based
orangefruit_based
pineapplefruit_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_TYPETOTAL_ORDER
sugar_based13400
fruit_based19550

๐Ÿ’™๋‚˜์˜ ํ’€์ด

SELECT ii.INGREDIENT_TYPE, SUM(fh.TOTAL_ORDER) AS TOTAL_ORDER
FROM ICECREAM_INFO ii
JOIN FIRST_HALF fh
ON ii.FLAVOR = fh.FLAVOR
GROUP BY ii.INGREDIENT_TYPE
ORDER BY TOTAL_ORDER
profile
๋‚ด ์ง€์‹์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€๋‹ดํ•จ

0๊ฐœ์˜ ๋Œ“๊ธ€