개발/SQL

프로그래머스SQL_업그레이드 된 아이템 구하기

송디 2024. 4. 26. 21:51

출처 : 프로그래머스

■ 사용 문법 

서브쿼리

 

■ 사용 방법

2개의 서브쿼리를 이용하였다. 

우선 RARE 타입의 ITEM을 SELECT 해주었고, 

SELECT된 ITEM들의 정보를 찾기 위해 ITEM_ID를 조건으로 SELECT 해주었다. 

 

■ 코드

SELECT ITEM_ID, ITEM_NAME, RARITY
FROM ITEM_INFO
WHERE ITEM_ID IN (
    SELECT A.ITEM_ID
    FROM ITEM_TREE AS A
    WHERE PARENT_ITEM_ID IN (
        SELECT ITEM_ID 
        FROM ITEM_INFO AS C
        WHERE RARITY = 'RARE'))
ORDER BY ITEM_ID DESC

 

또 다른 방법으로 찾은 결과를 이용해 2개의 테이블을 조인하는 방법이 있다. 

SELECT A.ITEM_ID, A.ITEM_NAME, A.RARITY
FROM ITEM_INFO AS A
LEFT JOIN ITEM_TREE AS B
ON A.ITEM_ID = B.ITEM_ID
WHERE PARENT_ITEM_ID IN (
        SELECT ITEM_ID 
        FROM ITEM_INFO AS C
        WHERE RARITY = 'RARE')
ORDER BY A.ITEM_ID DESC
728x90