[TIL#40 250417] ํ”Œ์  D-1

๊ฐ•๋ฏผ์ง€ยท2025๋…„ 4์›” 17์ผ
2

๋ฐ์ดํ„ฐ๋ถ„์„_TIL

๋ชฉ๋ก ๋ณด๊ธฐ
43/81

Daily plan

๐ŸŒž์˜ค์ „

- SQL ์ฝ”๋“œ์นดํƒ€ 110, 111, 112
- 10์‹œ ๋จธ์‹ ๋Ÿฌ๋‹ ํŠน๊ฐ• (๊ตฐ์ง‘)

๐Ÿ”ฅ ์˜คํ›„

- ๋จธ์‹ ๋Ÿฌ๋‹ ๊ฐ•์˜ ์‹ค์Šต !!
- ๋จธ์‹ ๋Ÿฌ๋‹ ํŠน๊ฐ• ๋ณต์Šต ์–ธ์ œํ•˜์ง€......

๐ŸŒ ์ €๋…

- TIL ์ œ์ถœํ•ด !!!!

์ด๋ฒˆ์ฃผ ๋ชฉํ‘œ

  • ๋จธ์‹ ๋Ÿฌ๋‹ ๊ฐ•์˜ ์™„๊ฐ•
  • ๋จธ์‹ ๋Ÿฌ๋‹ ํŠน๊ฐ• ์ •๋ฆฌ&๋ณต์Šต
  • ํŒŒ์ด์ฌ ์Šคํƒ ๋‹ค๋“œ๋ฐ˜ ์ •๋ฆฌ&๋ณต์Šต
  • ๋จธ์‹ ๋Ÿฌ๋‹ ๊ฐ•์˜ ์‹ค์Šต ๋๋‚ด๊ธฐ!
  • SQL ์ฝ”๋“œ์นดํƒ€ ํ•˜๋ฃจ 3๋ฌธ์ œ ์ด์ƒ

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

Q110 - Product Price at a Given Date

select id.product_id,
    case when rnk=1 then new_price else 10 end as price
from (select distinct product_id
    from products) id
    left join 
    (select *, rank() over(partition by product_id order by change_date desc) as rnk
    from products
    where change_date<='2019-08-16') p
    on id.product_id=p.product_id
where rnk=1 or rnk is null
  • ๋” ๊น”๋”ํ•˜๊ฒŒ ์ •๋ฆฌ๋ฅผ ํ•˜๋ ค๋ฉด
    • join์„ ํ•  ๋•Œ rnk=1 ์กฐ๊ฑด์„ ๋„ฃ์–ด์ฃผ๊ณ 
    • coalesce ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ null->10์œผ๋กœ ๋ณ€ํ™˜
    • CTE ์‚ฌ์šฉ
with latest_price as (
	select product_id, new_price,
    	rank() over(partition by product_id order by change_date desc) as rnk
    from products
    where change_date<='2019-08-16'
)

select p.product_id,
	coalesce(lp.new_price, 10) as price
from (select distinct product_id from products) p
	left join lastest_price lp
    on p.product_id=lp.product+id and lp.rnk=1

Q111 - Last Person to Fit in the Bus

Q112 - Count Salary Categories

ํ—‰ ์‹ค์Šตํ•˜๋‹ค๊ฐ€ ์ฝ”๋“œ์นดํƒ€ ๊นœ๋ฐ•ํ–ˆ๋‹ค,,, ๋‚˜๋จธ์ง€ ๊ณต๋ถ€ ํ•ด์•ผ๊ฒ ๋‹ค,, ใ…œ.ใ…œ


์•„ํ‹ฐํด ์Šคํ„ฐ๋””

๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”(3) - ๋ฐ์ดํ„ฐ ์† ๊ฑฐ์ง“๋ง ๋ฐœ๊ฒฌํ•˜๊ธฐ

  • ์š”์•ฝ : ์‹œ๊ฐํ™”๊ฐ€ ๋ถˆ๋Ÿฌ ์ผ์œผํ‚ค๋Š” ๋ถ€์ •ํ™•ํ•œ ์ •๋ณด ์ „๋‹ฌ, ์‹œ๊ฐ์  ์˜คํ•ด ํŒ๋ณ„ํ•˜๊ธฐ
  • ์ฃผ์š” ํฌ์ธํŠธ :
    • ๋ง‰๋Œ€ ๊ทธ๋ž˜ํ”„
      • ๊ธฐ์ค€์„ ์ด 0์ธ์ง€ ํ™•์ธ
      • y์ถ• ํ™•์ธ โ†’ ๊ฐ’์˜ ํฌ๊ธฐ, ๋ฌผ๊ฒฐ์„  ํ‘œ์‹œ ๋“ฑ์„ ์ฃผ์˜
    • ์„  ๊ทธ๋ž˜ํ”„
      • ์Šค์ผ€์ผ์„ ํ™•์ธ โ†’ 2๊ฐœ์˜ ๋‹ค๋ฅธ y์ถ•์„ ๊ฐ€์ง€๋Š” ๊ทธ๋ž˜ํ”„๋ฅผ ๊ฒน์ณ ๊ทธ๋ฆด ๋•Œ ์Šค์ผ€์ผ์— ๋”ฐ๋ผ ํ•ด์„์ด ์™„์ „ํžˆ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์Œ
      • ๋ˆ„์ ๊ฐ’์œผ๋กœ ๋ˆˆ์†์ž„ํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์ฃผ์˜
    • ํŒŒ์ด ์ฐจํŠธ
      • ์ „์ฒด ํ•ฉ์ด 100%์ธ์ง€ ํ™•์ธ
      • 2D ์ฐจํŠธ๋ฅผ 3D๋กœ ๋งŒ๋“ค๋ฉด ์™œ๊ณก ์œ„ํ—˜์ด ์žˆ์Œ
    • ์‹œ๊ฐํ™”๊ฐ€ ๋งŒ๋“ค์–ด์ง„ ๋ฐฐ๊ฒฝ๊ณผ ๋งฅ๋ฝ์„ ๋ฐ˜๋“œ์‹œ ์‚ดํŽด๋ณด๊ณ  ์ดํ•ดํ•ด์•ผ ํ•จ

์ธ์‚ฌ์ดํŠธ

  • ์‹œ๊ฐํ™”๋Š” ํ•œ ๋ˆˆ์— ๋น ๋ฅด๊ฒŒ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๊ทธ๋งŒํผ ์šฐ๋ฆฌ ๋‡Œ๋Š” ์‹œ๊ฐ ์ •๋ณด๋ฅผ ์ง๊ด€์ ์œผ๋กœ ์ธ์‹ํ•˜์—ฌ ํ•ด์„ํ•˜๋ฏ€๋กœ ๋ถ€์ •ํ™•ํ•œ ์ •๋ณด ์ „๋‹ฌ์ด๋‚˜ ์‹œ๊ฐ์  ์˜คํ•ด, ์™œ๊ณก์„ ๋ถˆ๋Ÿฌ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์‹œ๊ฐํ™”๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ž…์žฅ์—์„œ๋„ ์ฑ…์ž„๊ฐ์„ ๊ฐ€์ง€๊ณ  ์ž˜๋ชป๋œ ์ •๋ณด ๊ณต์œ ๊ฐ€ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š๋„๋ก ํ•ญ์ƒ ์œ ์˜ํ•ด์•ผ ํ•˜๋ฉฐ, ์‹œ๊ฐํ™”๋ฅผ ์ œ๊ณต๋ฐ›๋Š” ์ž…์žฅ์—์„œ๋„ ๋Š˜ ๋น„ํŒ์ ์œผ๋กœ ๋ฐ”๋ผ๋ณด๋Š” ํƒœ๋„๋ฅผ ๊ฐ–์ถฐ์•ผ ํ•œ๋‹ค.

์ผ๊ธฐ

์‹ค์Šตํ•˜๋‹ค๊ฐ€ ํ•˜๋ฃจ๊ฐ€ ๋‹ค ๊ฐ”๋‹ค...
๊ทผ๋ฐ ์•„์ง ๋๊นŒ์ง€ ๋ชปํ•จ..ใ…œ
๋‚ผ๋ถ€ํ„ฐ ํ”„๋กœ์ ํŠธ ์‹œ์ž‘์ธ๋ฐ ์šฐ๋ฆฌ ์กฐ.... ๊ดœ์ฐฎ๊ฒ ์ง€....?

5์กฐ ๋ฏฟ์„๊ฒŒ์—ฌ,, ํ™”์ดํŒ…๐Ÿ‘๐Ÿ’ชโค๐Ÿ”ฅ

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

comment-user-thumbnail
2025๋…„ 4์›” 17์ผ

111๋ฒˆ ์—†์–ด์š”

1๊ฐœ์˜ ๋‹ต๊ธ€