우당탕탕 개발일지

[SQL] 프로그래머스 IS NULL : 업그레이드 할 수 없는 아이템 구하기 (level 3) 본문

SQL

[SQL] 프로그래머스 IS NULL : 업그레이드 할 수 없는 아이템 구하기 (level 3)

민아당긴아 2024. 2. 19. 11:30

💡문제 링크

 

프로그래머스

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

programmers.co.kr

 

💡SQL 코드 설계

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

1. 더 이상 업그레이드할 수 없는 아이템은 PARENT_ITEM_ID에 아이템 ID가 안 나오는 아이템(이게 어렵다)

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

3. 아이템 ID 기준 내림차순(ORDER BY, DESC)

 

💡SQL 코드

SELECT T.ITEM_ID, I.ITEM_NAME, I.RARITY
FROM ITEM_INFO I JOIN ITEM_TREE T
ON I.ITEM_ID LIKE T.ITEM_ID
WHERE T.ITEM_ID NOT IN (
    SELECT PARENT_ITEM_ID 
    FROM ITEM_TREE 
    WHERE PARENT_ITEM_ID IS NOT NULL
)
ORDER BY T.ITEM_ID DESC

 

💡기억할 내용

1. WHERE 조건절에 (SELECT-FROM-WHERE)이 나올 수 있다!!!