inblog logo
|
silver
    SQL문제풀기

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

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

    문제

    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/273711
     

    내가 작성한 정답

    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

    RSS·Powered by Inblog