๋ฐ์ํ
https://school.programmers.co.kr/learn/courses/30/lessons/273711
ํ๋ก๊ทธ๋๋จธ์ค
SW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก, ์ฑ์ฉ๊น์ง Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํ
programmers.co.kr
๋ฌธ์
์์ดํ ์ ํฌ๊ท๋๊ฐ 'RARE'์ธ ์์ดํ ๋ค์
๋ชจ๋ ๋ค์ ์ ๊ทธ๋ ์ด๋ ์์ดํ ์
์์ดํ ID(ITEM_ID), ์์ดํ ๋ช (ITEM_NAME), ์์ดํ ์ ํฌ๊ท๋(RARITY)๋ฅผ ์ถ๋ ฅํ๋ SQL ๋ฌธ์ ์์ฑํด ์ฃผ์ธ์.
์ด๋ ๊ฒฐ๊ณผ๋ ์์ดํ ID๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ์ฃผ์ธ์.
์ฝ๋
select a.ITEM_ID, a.ITEM_NAME, a.RARITY
from ITEM_INFO a
join (
select i.ITEM_ID as parent_id, t.ITEM_ID as child_id
from ITEM_INFO i left join ITEM_TREE t on i.ITEM_ID = t.PARENT_ITEM_ID
where i.RARITY = 'RARE'
) b
on a.ITEM_ID = b.child_id
order by a.ITEM_ID desc
ํ์ด
1. ํฌ๊ท๋๊ฐ RARE์ธ ์์ดํ ๋ค์ id์, ๊ทธ ์์ด๋์ ์์ id๋ฅผ ๋ฝ์๋ธ๋ค
select i.ITEM_ID as parent_id, t.ITEM_ID as child_id
from ITEM_INFO i left join ITEM_TREE t on i.ITEM_ID = t.PARENT_ITEM_ID
where i.RARITY = 'RARE'
2. ๋ฐฉ๊ธ ๋ฝ์๋ธ ํ์์์ ์์ id์ ๋ํ ์ ๋ณด๋ค์ ๊ฐ์ ธ์จ๋ค (item_info ์ join)
select a.ITEM_ID, a.ITEM_NAME, a.RARITY
from ITEM_INFO a
join (๋ฐฉ๊ธ์ฝ๋) b
on a.ITEM_ID = b.child_id
order by a.ITEM_ID desc
๋ฐ์ํ