SQL/SELECT

[프로그래머스 SQL] Lv.2 - 업그레이드 된 아이템 구하기

이런개발 2025. 2. 28. 12:51

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

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

문제 풀이

  1. ITEM_INFO 테이블과 ITEM_TREE 테이블을 조인한다.
  2. 서브 쿼리로 ITEM_TREE 테이블의 PARENT_ITEM_ID에 해당하는 아이템의 희귀도가 "RARE"인 행을 필터링한다. 
  3. 아이템 ID를 기준으로 내림차순 정렬한다.
  4. 아이템 ID, 아이템 명, 아이템의 희귀도를 조회한다.
SELECT
    B.ITEM_ID, 
    A.ITEM_NAME, 
    A.RARITY
FROM
    ITEM_INFO A
        JOIN ITEM_TREE B ON A.ITEM_ID = B.ITEM_ID
WHERE
    B.PARENT_ITEM_ID IN (
                            SELECT ITEM_ID
                            FROM ITEM_INFO
                            WHERE RARITY = 'RARE'
                        )
ORDER BY 
    1 DESC;