본문 바로가기
SQL

[SQL] 업그레이드 할 수 없는 아이템 구하기, IS NULL

by 유일리 2024. 7. 14.

※ 업그레이드 할 수 없는 아이템 구하기

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

 

프로그래머스

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

programmers.co.kr

 

문제 해결 TIP

우선 ITEM_TREE 테이블에서 업그레이드가 가능한 ID들을 중복없이 구해야한다. (이때 NULL은 제외시킴)

SELECT DISTINCT PARENT_ITEM_ID
FROM ITEM_TREE
WHERE PARENT_ITEM_ID IS NOT NULL;

이후, ITEM_INFO 테이블 중에 위의 결과에 포함되지 않는 것들만 구한다.

 

전체 코드

SELECT ITEM_INFO.ITEM_ID, ITEM_INFO.ITEM_NAME, ITEM_INFO.RARITY
FROM ITEM_INFO JOIN ITEM_TREE
ON ITEM_INFO.ITEM_ID=ITEM_TREE.ITEM_ID
WHERE ITEM_INFO.ITEM_ID NOT IN (SELECT DISTINCT PARENT_ITEM_ID
                                FROM ITEM_TREE
                                WHERE PARENT_ITEM_ID IS NOT NULL)
ORDER BY ITEM_INFO.ITEM_ID DESC;

댓글