우당탕탕 개발일지

[SQL] 프로그래머스 SELECT : 업그레이드 된 아이템 구하기 (level 2) ⭐ 본문

SQL

[SQL] 프로그래머스 SELECT : 업그레이드 된 아이템 구하기 (level 2) ⭐

민아당긴아 2024. 2. 19. 12:19

💡문제 링크

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

💡SQL 코드 설계

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

1. 아이템의 희귀도가 'RARE'인 아이템을 고르기(WHERE)

2. 아이템 ID(ITEM_ID), 아이템 명(ITEM_NAME), 아이템의 희귀도(RARITY)를 출력(SELECT)

3. 아이템 ID를 기준으로 내림차순 정렬(ORDER BY)

4. 모든 다음 업그레이드 아이템을 구해야하니까 JOIN 써야한다

💡SQL 코드

-- 코드를 작성해주세요
SELECT T.ITEM_ID, ITEM_NAME, RARITY
FROM ITEM_INFO I
JOIN ITEM_TREE T
ON I.ITEM_ID LIKE T.ITEM_ID
WHERE T.PARENT_ITEM_ID IN (
    SELECT ITEM_ID 
    FROM ITEM_INFO
    WHERE RARITY LIKE "RARE"
)
ORDER BY ITEM_ID DESC

 

💡기억할 내용

1. 꽤 어려웠다

2. WHERE절 안에 (SELECT-FROM-WHERE)쓰는게 어색하다..!