🔗 문제 link : https://school.programmers.co.kr/learn/courses/30/lessons/273711
🖥️ 문제 풀이
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 ITEM_ID
FROM ITEM_INFO
WHERE RARITY = 'RARE'
)
ORDER BY I.ITEM_ID DESC;
💡 문제 해결
서브쿼리 IN을 사용한 이유
: RARE 아이템 ID가 여러 개일 수 있기 때문
예:
RARE = 0,1,3,4
하나만 비교:
=
여러 개 비교:
IN (...)
사용
서브쿼리로 RARE 아이템 ID 목록을 만든 뒤, PARENT_ITEM_ID가 그 목록에 포함되는 업그레이드 아이템을 찾음
'SQL Coding Test > [Programmers]' 카테고리의 다른 글
| [Programmers] 조건에 맞는 개발자 찾기 (Lv.2) (0) | 2026.05.24 |
|---|---|
| [Programmers] 연도별 대장균 크기의 편차 구하기 (Lv.2) (0) | 2026.05.23 |
| [Programmers] 조건에 맞는 사원 정보 조회하기 (Lv.2) (0) | 2026.05.21 |
| [Programmers] 가격대 별 상품 개수 구하기 (Lv.2) (0) | 2026.05.21 |
| [Programmers] 카테고리 별 상품 개수 구하기 (Lv.2) (0) | 2026.05.21 |