(프로그래머스) LV.2 업그레이드 된 아이템 구하기

chaechae·2024년 7월 23일
0

코딩테스트(SQL) 

목록 보기
23/25

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

쿼리

SELECT A.ITEM_ID
    , B.ITEM_NAME
    , B.RARITY
FROM ITEM_TREE A
LEFT JOIN ITEM_INFO B ON A.ITEM_ID = B.ITEM_ID
WHERE PARENT_ITEM_ID IN(SELECT DISTINCT(ITEM_ID)
                        FROM ITEM_INFO
                        WHERE RARITY = 'RARE')
ORDER BY ITEM_ID DESC
  • LEFT JOIN : ITEM 정보들을 추가하기 위해 사용 , 그냥 JOIN을 이용해도 상관 없으나 LEFT JOIN 을 이용한 이유는 어차피 ITEM_TREE 테이블의 업그레이드 된 ITEM_ID 정보만 필요하기 때문입니다.

  • WHERE IN : 결국 핵심은 ITEM_IDRARE 등급 이면서 PARENT_ITEM_ID 인 경우 라고 생각합니다. (PARENT_ITEM_ID 에 있는 ITEM_ID 값 들이 업그레이드 가능한 ITEM_ID 이므로)

profile
다양한 컨텐츠가 있는 곳을 좋아합니다. 시리즈를 참고하시면 편하게 글을 보실 수 있습니다🫠

0개의 댓글