[SQL문제풀기] 업그레이드 된 아이템 구하기

silver's avatar
Nov 28, 2024
[SQL문제풀기] 업그레이드 된 아이템 구하기
 

문제

 

내가 작성한 정답

SELECT I.ITEM_ID,I.ITEM_NAME,I.RARITY FROM ITEM_TREE T LEFT JOIN ITEM_INFO I ON T.ITEM_ID = I.ITEM_ID WHERE PARENT_ITEM_ID IN (SELECT ITEM_ID FROM ITEM_INFO WHERE RARITY = 'RARE') ORDER BY I.ITEM_ID DESC;
 
→ 다음 업그레이드 아이템이 존재하지 않는 경우는 출력되지 않도록 LEFT JOIN을 사용했다. 이 경우는 (INNER) JOIN을 사용해도 될 것이다.
→ 다음 업그레이드 아이템이 존재하지 않은 경우도 출력되도록 하기위해서는 RIGHT JOIN을 사용해야한다.
 

다른 사람들이 작성한 정답

SELECT I.ITEM_ID, I.ITEM_NAME, I.RARITY FROM ITEM_INFO I JOIN ITEM_TREE T ON I.ITEM_ID = T.ITEM_ID WHERE T.PARENT_ITEM_ID IN ((SELECT S.ITEM_ID FROM ITEM_INFO S WHERE RARITY = 'RARE')) ORDER BY ITEM_ID DESC
 
→ 다른 사람들의 풀이를 보니 대부분 공통부분만 출력하는 (INNER) JOIN을 사용했다!
 
Share article

silver