프로그래머스 오답노트 Level 2 업그레이드 된 아이템 구하기
<문제>
아이템의 희귀도가 'RARE'인 아이템들의 모든 다음 업그레이드 아이템의 아이템 ID(ITEM_ID), 아이템 명(ITEM_NAME), 아이템의 희귀도(RARITY)를 출력하는 SQL 문을 작성해 주세요. 이때 결과는 아이템 ID를 기준으로 내림차순 정렬주세요
<접근 방법>
1.RARE 인 ITEM_ID 를 구한다
2.해당 ITEM_ID 서브 쿼리로 작성하고, 추출된 RARE 인 ITEM_ID 들과 같은 PARENT_ITEM_ID 를 가진 항목들을 추출한다
<틀렸던 방법>
초반 쿼리는 아이템의 희귀도가 RARE 인 경우에 대한 필터링 조건이 없었음
select I.ITEMID ITEMID, I.ITEMNAME ITEMNAME, I.RARITY RARITY From ITEMINFO I
INNER JOIN itemTREE T ON I.ITEMID = T.ITEMID
WHERE T.PARENTITEMID IN (SELECT DISTINCT(ITEMID) FROM itemTREE)
ORDER BY I.ITEM_ID DESC
<정답 쿼리>
SELECT I.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 I.ITEM_ID DESC
'SQL' 카테고리의 다른 글
프로그래머스 SQL 오답노트 Level 3 업그레이드 할 수 없는 아이템 구하기 (0) | 2025.10.16 |
---|---|
프로그래머스 SQL 오답노트 Level 4 년, 월, 성별 별 상품 구매 회원 수 구하기 (0) | 2025.10.15 |
프로그래머스 SQL 오답노트 Level 3 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 (0) | 2025.10.14 |
프로그래머스 SQL 오답노트 Level 3 특정 조건을 만족하는 물고기별 수와 최대 길이 구하기 (0) | 2025.10.14 |
프로그래머스 SQL 오답노트 Level 3 오랜 기간 보호한 동물 (2) (0) | 2025.10.14 |