코딩테스트[파이썬]/프로그래머스 sql 고득점 kit

[다시보기]- SELECT - 업그레이드된 아이템 구하기

softmoca__ 2024. 2. 23. 00:00
목차

 

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

 

프로그래머스

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

programmers.co.kr

 

서브 쿼리를 사용한 풀이

SELECT ITEM_ID, ITEM_NAME, RARITY
FROM ITEM_INFO
WHERE ITEM_ID IN (
    SELECT ITEM_ID
    FROM ITEM_TREE
    WHERE PARENT_ITEM_ID IN (
        SELECT ITEM_ID
        FROM ITEM_INFO
        WHERE RARITY="RARE"
    )
)
ORDER BY ITEM_ID DESC;

 

 

3중 join을 사용한 풀이

SELECT C.ITEM_ID, C.ITEM_NAME, C.RARITY
FROM
ITEM_INFO C
JOIN ITEM_TREE B
ON C.ITEM_ID=B.ITEM_ID
JOIN ITEM_INFO A
ON B.PARENT_ITEM_ID=A.ITEM_ID
WHERE A.RARITY="RARE"
ORDER BY ITEM_ID DESC;