Coding Test/SQL
[Programmers] 업그레이드 된 아이템 구하기 - 273711
ro_rdil_31
2024. 9. 30. 23:50
728x90
WHERE 절 sub query 로 출력할 rows 를 정해주는 방법이다 !
매우 간단해 보이지만 막상 코드를 작성하면 잘 안 나오던 건데 문제로 풀 수 있어서 좋았다 ㅎㅎ !
Question
아이템의 희귀도가 'RARE'인 아이템들의 모든 다음 업그레이드 아이템의 아이템 ID(ITEM_ID), 아이템 명(ITEM_NAME), 아이템의 희귀도(RARITY)를 출력하는 SQL 문을 작성해 주세요. 이때 결과는 아이템 ID를 기준으로 내림차순 정렬주세요.
Point
- WHERE 절 sub query 사용.
- WHERE _ IN ( SELECT _ FROM _ WHERE _ = ' ' )
- JOIN ON
Code (After 25.06.)
SELECT C.ITEM_ID
, C.ITEM_NAME
, C.RARITY
FROM ITEM_INFO I
JOIN ITEM_TREE T ON T.PARENT_ITEM_ID = I.ITEM_ID
JOIN ITEM_INFO C ON T.ITEM_ID = C.ITEM_ID
WHERE I.RARITY = 'RARE'
ORDER BY 1 DESC
Code
SELECT T.ITEM_ID, ITEM_NAME, RARITY
FROM ITEM_INFO I
JOIN ITEM_TREE T
ON I.ITEM_ID = T.ITEM_ID
WHERE PARENT_ITEM_ID IN (SELECT ITEM_ID FROM ITEM_INFO WHERE RARITY = 'RARE')
ORDER BY ITEM_ID DESC

now me
On my github
728x90