Notice
Recent Posts
Recent Comments
Link
«   2026/02   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
Tags more
Archives
Today
Total
관리 메뉴

luke

[프로그래머스] - 업그레이드 된 아이템 구하기 (MySQL) 본문

DB/프로그래머스(MySQL)

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

luke-king 2025. 10. 23. 14:27

문제 : https://school.programmers.co.kr/learn/courses/30/lessons/273711

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

 

 

 

 

 

 

 

 

문제.


 

 

 

 

 

 

풀이.


SELECT it.ITEM_ID,  ii.ITEM_NAME, ii.RARITY
FROM ITEM_INFO ii
INNER JOIN ITEM_TREE it
ON ii.ITEM_ID = it.ITEM_ID
WHERE it.PARENT_ITEM_ID IN (
    SELECT ITEM_ID
    FROM ITEM_INFO
    WHERE RARITY = 'RARE'
)
ORDER BY ITEM_ID DESC

이번 문제는 프로그래머스 "업그레이드된 아이템 구하기" SQL문제다.

문제 접근은 아이템의 희귀도가 'RARE'인 아이템들의 모든 다음 업그레이드 아이템의 아이템 ID, 아이템 명, 아이템의 희귀도를 출력하는 거다. 그럼 바로 풀이해보겠다.

 

1. ITEM_ID출력은 JOIN 해서 사용하는 ITME_TREE 테이블의 값을 사용해 준다.

 

2. WHERE절을 사용해 PARENT_ITEM_ID의 값이 서브쿼리에 있는 ITEM_INFO 테이블의 RARITY 컬럼 값이 'RARE'인 ITEM_ID 값인 애들을 출력해 준다.

 

3. 마지막으로 ITEM_ID를 내림차순으로 정렬해 주면 끝이다.