코딩 테스트/SQL

[프로그래머스 - LEVEL 3] 업그레이드 할 수 없는 아이템 구하기 ⛔️

macbook2 2026. 2. 14. 01:02

ㅓhttps://school.programmers.co.kr/learn/courses/30/lessons/273712

 

프로그래머스

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

programmers.co.kr


문제

더 이상 업그레이드할 수 없는 아이템의 아이템 ID(ITEM_ID), 아이템 명(ITEM_NAME), 아이템의 희귀도(RARITY)를 출력하는 SQL 문을 작성해 주세요. 이때 결과는 아이템 ID를 기준으로 내림차순 정렬해 주세요.

풀이

-- 코드를 작성해주세요
-- 부모가 된 적이 없는 아이템

SELECT i.item_id, i.item_name, i.rarity
FROM item_info i
WHERE NOT EXISTS (
    SELECT 1
    FROM item_tree t
    WHERE t.parent_item_id = i.item_id
    )
ORDER BY i.item_id DESC;

 

더 이상 업그레이드 할 수 없는 아이템이란?

ITEM_ID의 자식 ITEM_ID 가 없다는 것을 의미 = 부모가 된 적이 없는 아이템

item_info의 item_id 와 item_tree의 parent_item_id를 행 단위로 비교했을때 같지 않은 행만 출력 후 정렬