-- 코드를 입력하세요
# SELECT T.ITEM_ID, I.ITEM_NAME, I.RARITY
# FROM ITEM_INFO AS I
# INNER JOIN ITEM_TREE AS T
# ON I.ITEM_ID=T.ITEM_ID
# WHERE T.PARENT_ITEM_ID IN (SELECT ITEM_ID FROM ITEM_INFO
# WHERE RARITY='RARE')
# ORDER BY T.ITEM_ID DESC;
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;
내 코드 설명
두 가지 방법이 있다.
1. INNER JOIN을 하는 것
ITEM_INFO 테이블과 ITEM_TREE 테이블을 ITEM_ID로 INNER JOIN을 하여 합쳐둔 후 PARENT_ITEM_ID가 RARITY가 RARE인 ITEM_ID 중 존재하는 것만 뽑아낸다.