[프로그래머스] 업그레이드 된 아이템 구하기

yannie·2024년 9월 28일
0

[문제]

아이템의 희귀도가 'RARE'인 아이템들의 모든 다음 업그레이드 아이템의 아이템 ID(ITEM_ID), 아이템 명(ITEM_NAME), 아이템의 희귀도(RARITY)를 출력하는 SQL 문을 작성해 주세요. 이때 결과는 아이템 ID를 기준으로 내림차순 정렬주세요.

[내가 푼 풀이(정답)]

-- 아이템의 희귀도 RARE인 아이템들의 모든 다음 업그레이드 아이템
SELECT
    T.ITEM_ID AS ITEM_ID,
    I.ITEM_NAME,
    I.RARITY
FROM ITEM_INFO I
INNER JOIN ITEM_TREE T
ON I.ITEM_ID = T.ITEM_ID
WHERE T.PARENT_ITEM_ID IN
    (SELECT ITEM_ID
    FROM ITEM_INFO
    WHERE RARITY = 'RARE')
ORDER BY T.ITEM_ID DESC
;

[코드리뷰]

  • 서브쿼리: WHERE절에 SELECT문을 추가하여 RARITY가 RARE인 ITEM_ID를 반환

  • 메인쿼리 : ITEM_TREE 테이블에서 PARENT_ITEM_ID가 서브쿼리에서 반환된 'RARE'아이템의 ITEM_ID 목록에 포함되는 행 선택

기억해!

  • 서브쿼리를 쓰는게 아직은 어색.. 바로 생각 나지 않느당..

0개의 댓글