๐Ÿ’ฏ Coding Test/SQL ํ…Œ์ŠคํŠธ

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (Lv 4) - ์‹ํ’ˆ๋ถ„๋ฅ˜๋ณ„ ๊ฐ€์žฅ ๋น„์‹ผ ์‹ํ’ˆ์˜ ์ •๋ณด ์กฐํšŒํ•˜๊ธฐ

KR_DEV 2024. 4. 5. 02:11

1) ๋ฌธ์ œ ์„ค๋ช…

  • ๋‹ค์Œ์€ ์‹ํ’ˆ์˜ ์ •๋ณด๋ฅผ ๋‹ด์€ FOOD_PRODUCT ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค.

 

  • FOOD_PRODUCT ํ…Œ์ด๋ธ”์€ ๋‹ค์Œ๊ณผ ๊ฐ™์œผ๋ฉฐ PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, PRICE๋Š” ์‹ํ’ˆ ID, ์‹ํ’ˆ ์ด๋ฆ„, ์‹ํ’ˆ์ฝ”๋“œ, ์‹ํ’ˆ๋ถ„๋ฅ˜, ์‹ํ’ˆ ๊ฐ€๊ฒฉ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
     
Column name Type Nullable
PRODUCT_ID VARCHAR(10) FALSE
PRODUCT_NAME VARCHAR(50) FALSE
PRODUCT_CD VARCHAR(10) TRUE
CATEGORY VARCHAR(10) TRUE
PRICE NUMBER TRUE

2) ๋ฌธ์ œ

  • FOOD_PRODUCT ํ…Œ์ด๋ธ”์—์„œ ์‹ํ’ˆ๋ถ„๋ฅ˜๋ณ„๋กœ ๊ฐ€๊ฒฉ์ด ์ œ์ผ ๋น„์‹ผ ์‹ํ’ˆ์˜ ๋ถ„๋ฅ˜, ๊ฐ€๊ฒฉ, ์ด๋ฆ„์„ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.

 

  • ์ด ๋•Œ ์‹ํ’ˆ๋ถ„๋ฅ˜๊ฐ€ '๊ณผ์ž', '๊ตญ', '๊น€์น˜', '์‹์šฉ์œ '์ธ ๊ฒฝ์šฐ๋งŒ ์ถœ๋ ฅ์‹œ์ผœ ์ฃผ์‹œ๊ณ  ๊ฒฐ๊ณผ๋Š” ์‹ํ’ˆ ๊ฐ€๊ฒฉ์„ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”.

 

3) ์˜ˆ์‹œ

  • FOOD_PRODUCT ํ…Œ์ด๋ธ”์ด ๋‹ค์Œ๊ณผ ๊ฐ™์„ ๋•Œ
         
PRODUCT_ID PRODUCT_NAME PRODUCT_CD CATEGORY PRICE
P0018 ๋ง›์žˆ๋Š”๊ณ ์ถ”๊ธฐ๋ฆ„ CD_OL00008 ์‹์šฉ์œ  6100
P0019 ๋ง›์žˆ๋Š”์นด๋†€๋ผ์œ  CD_OL00009 ์‹์šฉ์œ  5100
P0020 ๋ง›์žˆ๋Š”์‚ฐ์ดˆ์œ  CD_OL00010 ์‹์šฉ์œ  6500
P0021 ๋ง›์žˆ๋Š”์ผ€์ฒฉ CD_SC00001 ์†Œ์Šค 4500
P0022 ๋ง›์žˆ๋Š”๋งˆ์š”๋„ค์ฆˆ CD_SC00002 ์†Œ์Šค 4700
P0039 ๋ง›์žˆ๋Š”ํ™ฉ๋„ CD_CN00008 ์บ” 4100
P0040 ๋ง›์žˆ๋Š”๋ช…์ด๋‚˜๋ฌผ CD_CN00009 ์บ” 3500
P0041 ๋ง›์žˆ๋Š”๋ณด๋ฆฌ์ฐจ CD_TE00010 ์ฐจ 3400
P0042 ๋ง›์žˆ๋Š”๋ฉ”๋ฐ€์ฐจ CD_TE00001 ์ฐจ 3500
P0099 ๋ง›์žˆ๋Š”๋ง›๋™์‚ฐ CD_CK00002 ๊ณผ์ž 1800
  • SQL์„ ์‹คํ–‰ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ถœ๋ ฅ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
     
CATEGORY MAX_PRICE PRODUCT_NAME
์‹์šฉ์œ  6500 ๋ง›์žˆ๋Š”์‚ฐ์ดˆ์œ 
๊ณผ์ž 1800 ๋ง›์žˆ๋Š”๋ง›๋™์‚ฐ

4) ํ’€์ด

SELECT CATEGORY
     , PRICE AS "MAX_PRICE"
     , PRODUCT_NAME
FROM FOOD_PRODUCT
WHERE (CATEGORY, PRICE) IN (SELECT CATEGORY, MAX(PRICE)
                            FROM FOOD_PRODUCT
                            WHERE CATEGORY IN ('๊ณผ์ž', '๊ตญ', '๊น€์น˜', '์‹์šฉ์œ ')
                            GROUP BY CATEGORY)
ORDER BY 2 DESC

 

[Reference]

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 

๋ฐ˜์‘ํ˜•