아이템의 희귀도가 'RARE'인 아이템들의 모든 다음 업그레이드 아이템의 아이템 ID(ITEM_ID), 아이템 명(ITEM_NAME), 아이템의 희귀도(RARITY)를 출력하는 SQL 문을 작성해 주세요. 이때 결과는 아이템 ID를 기준으로 내림차순 정렬주세요.
select I.ITEM_ID ,I.ITEM_NAME ,I.RARITY from ITEM_INFO as I, ITEM_TREE as T where 1=1 and I.ITEM_ID = T.ITEM_ID and T.PARENT_ITEM_ID in (select ITEM_INFO.ITEM_ID from ITEM_INFO where 1=1 and ITEM_INFO.RARITY = 'RARE') order by 1 desc ;
다른 풀이
with tb as ( select I.ITEM_ID from ITEM_INFO as I where I.RARITY = 'RARE' ) select distinct I.ITEM_ID ,I.ITEM_NAME ,I.RARITY from ITEM_INFO as I, ITEM_TREE as T, tb where 1=1 and I.ITEM_ID = T.ITEM_ID and T.PARENT_ITEM_ID in (select * from tb) order by 1 desc
SQL 고득점 Kit-select 부분에서 가장 어렵게 느낀 문제였다.
처음 접근 방법이 조금 어려웠지만, 나름 재미있었던 문제였다 :)
https://school.programmers.co.kr/learn/courses/30/lessons/273711