250x250
Link
๋‚˜์˜ GitHub Contribution ๊ทธ๋ž˜ํ”„
Loading data ...
Notice
Recent Posts
Recent Comments
๊ด€๋ฆฌ ๋ฉ”๋‰ด

Data Science LAB

[MySQL] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต 24(์šฐ์œ ์™€ ์š”๊ฑฐํŠธ๊ฐ€ ๋‹ด๊ธด ์žฅ๋ฐ”๊ตฌ๋‹ˆ) ๋ณธ๋ฌธ

๐Ÿ“ Coding Test/MySQL

[MySQL] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต 24(์šฐ์œ ์™€ ์š”๊ฑฐํŠธ๊ฐ€ ๋‹ด๊ธด ์žฅ๋ฐ”๊ตฌ๋‹ˆ)

ใ…… ใ…œ ใ…” ใ…‡ 2022. 3. 4. 14:27
728x90

๋“œ๋””์–ด ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋งˆ์ง€๋ง‰ ๋‹จ๊ณ„์ธ LEVEL4์˜ ๋ฌธ์ œ์ด๋‹ค!!

 

๋ฌธ์ œ
CART_PRODUCTS ํ…Œ์ด๋ธ”์€ ์žฅ๋ฐ”๊ตฌ๋‹ˆ์— ๋‹ด๊ธด ์ƒํ’ˆ ์ •๋ณด๋ฅผ ๋‹ด์€ ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค. 
CART_PRODUCTS ํ…Œ์ด๋ธ”์˜ ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์œผ๋ฉฐ, 
ID, CART_ID, NAME, PRICE
๋Š” ๊ฐ๊ฐ ํ…Œ์ด๋ธ”์˜ ์•„์ด๋””, ์žฅ๋ฐ”๊ตฌ๋‹ˆ์˜ ์•„์ด๋””, ์ƒํ’ˆ ์ข…๋ฅ˜, ๊ฐ€๊ฒฉ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ๋ถ„์„ ํŒ€์—์„œ๋Š” ์šฐ์œ (Milk)์™€ ์š”๊ฑฐํŠธ(Yogurt)๋ฅผ ๋™์‹œ์— ๊ตฌ์ž…ํ•œ ์žฅ๋ฐ”๊ตฌ๋‹ˆ๊ฐ€ ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค. ์šฐ์œ ์™€ ์š”๊ฑฐํŠธ๋ฅผ ๋™์‹œ์— ๊ตฌ์ž…ํ•œ ์žฅ๋ฐ”๊ตฌ๋‹ˆ์˜ ์•„์ด๋””๋ฅผ ์กฐํšŒํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ๊ฒฐ๊ณผ๋Š” ์žฅ๋ฐ”๊ตฌ๋‹ˆ์˜ ์•„์ด๋”” ์ˆœ์œผ๋กœ ๋‚˜์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

 

 

 

 

์˜ˆ์‹œ

 

 

 

 

 

 

๋ฌธ์ œ ํ’€์ด
SELECT A.CART_ID
FROM (SELECT DISTINCT CART_ID,NAME
     FROM CART_PRODUCTS
     WHERE NAME = 'MILK' OR NAME = 'YOGURT') A
GROUP BY A.CART_ID
HAVING COUNT (A.CART_ID) >= 2

์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๊ณ  MILK๋‚˜ YOGURT๊ฐ€ ๋‹ด๊ธด ์žฅ๋ฐ”๊ตฌ๋‹ˆ์˜ ID๋ฅผ ๊ตฌํ•œ๋’ค

HAVING COUNT๋ฅผ ์ด์šฉํ•˜์—ฌ 2 ์ด์ƒ์ธ ์žฅ๋ฐ”๊ตฌ๋‹ˆ์˜ ID๋ฅผ ๊ตฌํ•œ๋‹ค. 

 

 

 

SELECT DISTINCT A.CART_ID
FROM CART_PRODUCTS AS A
JOIN CART_PRODUCTS AS B
ON A.CART_ID = B.CART_ID 
AND A.NAME = 'MILK' AND B.NAME = 'YOGURT'

JOIN์„ ์ด์šฉํ•˜์—ฌ MILK์™€ YOGURT๋ฅผ ๊ฐ€์ง„ ํ…Œ์ด๋ธ”์„ ๋”ฐ๋กœ ๋ฝ‘์•„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ!

728x90
Comments