์ŠคํŒŒ๋ฅดํƒ€ ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„(25.12.01~)

์ŠคํŒŒ๋ฅดํƒ€ ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„_๋ณธ์บ ํ”„_data11๊ธฐ ๊น€์„ ์˜_TIL_Day 16

0๏ธโƒฃ 2026. 1. 14. 22:22

<์˜ค๋Š˜์˜ ํ•™์Šต>

  • SQL ์ฝ”๋“œ์นดํƒ€ : ๊ธฐ์ดˆ๋ ˆ๋ฒจ ์™„๋ฃŒ
  • ํŒŒ์ด์ฌ ๋ผ์ด๋ธŒ ์„ธ์…˜ (class.....)
  •  
  • ํŒŒ์ด์ฌ 5ํšŒ์ฐจ ๋ณต์Šต, ์—ฐ์Šต๋ฌธ์ œ
  • ํŒŒ์ด์ฌ 3, 4ํšŒ์ฐจ ์‹ฌํ™”๋ฌธ์ œ
  • SQL ์ฝ”๋“œ์นดํƒ€

<ํ•™์Šต๋‚ด์šฉ ์ •๋ฆฌ>

SQL ์ฝ”๋“œ์นดํƒ€

โœ… ์žฌ๊ตฌ๋งค๊ฐ€ ์ผ์–ด๋‚œ ์ƒํ’ˆ๊ณผ ํšŒ์› ๋ฆฌ์ŠคํŠธ ๊ตฌํ•˜๊ธฐ

select 
    USER_ID	
    , PRODUCT_ID
from ONLINE_SALE
group by USER_ID, PRODUCT_ID
having count(PRODUCT_ID) > 1
order by USER_ID, PRODUCT_ID desc

<๊ฐœ๋…์ •๋ฆฌ>

group by๋กœ ์›๋ณธ ํ–‰๋“ค์„ ๋ฌถ์€ ๊ฒฐ๊ณผ(= ๋ฌถ์ธ ํ•˜๋‚˜์˜ ํ–‰) != ํ–‰ 1๊ฐœ

๊ฐ™์€ ๊ธฐ์ค€์œผ๋กœ ๊ทธ๋ฃนํ•‘ ๋œ ๊ทธ๋ฃน ์•ˆ์— ์›๋ณธ ํ–‰๋“ค์€ ๋ชจ๋‘ ์‚ด์•„ ์žˆ๋‹ค.

โญ๏ธ having์€ ๊ทธ ๊ทธ๋ฃน ๊ฐ๊ฐ์— ์กฐ๊ฑด ๋ถ€์—ฌ

 

ex. ์œ„ ์ฝ”๋“œ์—์„œ์˜ having count(PRODUCT_ID) > 1

๋ฌถ์ธ ๊ทธ๋ฃน๋“ค ์•ˆ์— ์žˆ๋Š” ํ–‰๋“ค์„ product_id์˜ ๊ฐœ์ˆ˜๋ฅผ ์นด์šดํŠธ.

ID๋Š” ๊ณ ์œ ํ•˜๊ณ  null์ด ์—†์œผ๋‹ˆ๊นŒ ์นด์šดํŠธ ๊ธฐ์ค€์œผ๋กœ ์ ํ•ฉ.

 

 

 

 

 

 

 


ํŒŒ์ด์ฌ ๋ผ์ด๋ธŒ ์„ธ์…˜

1. ํด๋ž˜์Šค

์ดํ•ด ๋ถˆ๊ฐ€ + ๋ฐฉ๋Œ€ํ•œ ํŒŒ์ด์ฌ์˜ ์„ธ๊ณ„... ์ •๋ฆฌ ๋ถˆ๊ฐ€๋Šฅ...........

ํž˜๋“  ์‹œ๊ฐ„์ด์—ˆ๋‹ค...\


ํŒŒ์ด์ฌ 3ํšŒ์ฐจ(ํŠœํ”Œ, ๋ฆฌ์ŠคํŠธ, ๋”•์…”๋„ˆ๋ฆฌ) ์‹ฌํ™”๋ฌธ์ œ

โœ… ๋ฌธ์ œ 4
๋‹ค์Œ ์ฝ”๋“œ์˜ ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ์ •ํ™•ํžˆ ์“ฐ์„ธ์š”. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์ด์œ ๋ฅผ ์„ค๋ช…ํ•˜์„ธ์š”..

lst = [0, 1, 2, 3, 4]
lst[1:4] = (9, 8)
print(lst)

lst = [0, 1, 2, 3, 4]
lst[1:4] = [9, 8]
print(lst)

# ๋‚ด ์˜ˆ์ƒ ๊ฒฐ๊ณผ
[0, (9, 8), 4]
[0, [9, 8], 4]

# ์‹ค์ œ ์ถœ๋ ฅ ๊ฒฐ๊ณผ
[0, 9, 8, 4]
[0, 9, 8, 4]
  • ๋‚ด ์˜ˆ์ƒ
    ์Šฌ๋ผ์ด์‹ฑ ๊ตฌ๊ฐ„์— ์šฐ๋ณ€์„ ํ†ต์œผ๋กœ ๋„ฃ๋Š”๋‹ค.
  • ์‹ค์ œ ์ž‘๋™
    ์Šฌ๋ผ์ด์‹ฑ ๊ตฌ๊ฐ„์— iterable ๊ฐ์ฒด๋ฅผ ํ’€์–ด์„œ ํ•˜๋‚˜์”ฉ ๋„ฃ๋Š”๋‹ค.
<๊ฐœ๋…์ •๋ฆฌ>
"์Šฌ๋ผ์ด์‹ฑ ๋Œ€์ž…"
๋ฆฌ์ŠคํŠธ ์Šฌ๋ผ์ด์‹ฑ์— ๊ฐ’์„ ๋Œ€์ž…ํ•˜๋ฉด, ๊ทธ ๊ฐ’์ด iterable(๋ฐ˜๋ณต ๊ฐ€๋Šฅ)์ด๋ผ๋ฉด ๊ทธ ์•ˆ์˜ ์š”์†Œ๋“ค์ด ํ•˜๋‚˜์”ฉ ํ’€๋ ค์„œ ๋“ค์–ด๊ฐ„๋‹ค.
→ ๊ทธ๋ž˜์„œ ํŠœํ”Œ, ๋ฆฌ์ŠคํŠธ ๋“ฑ ๊ด„ํ˜ธ๋Š” ์ƒ๊ด€ X, ๊ทธ ์•ˆ์˜ ๊ฐ’๋“ค๋งŒ ๋“ค์–ด๊ฐ.

"๊ทธ ์ž์ฒด๋กœ ๋„ฃ๊ณ  ์‹ถ์œผ๋ฉด?"
์ธ๋ฑ์Šค๋กœ ๋„ฃ๊ธฐ
lst = [0, 1, 2, 3, 4]
lst[1] = (9, 8)
print(lst)

# ์ถœ๋ ฅ ๊ฐ’
[0, (9, 8), 2, 3, 4]