노아
[프로그래머스] 업그레이드 할 수 없는 아이템 구하기 본문
Question
더 이상 업그레이드할 수 없는 아이템의 아이템 ID(ITEM_ID), 아이템 명(ITEM_NAME), 아이템의 희귀도(RARITY)를 출력하는 SQL 문을 작성해 주세요. 이때 결과는 아이템 ID를 기준으로 내림차순 정렬해 주세요.
Pseudocode
- LEFT JOIN 수행
- ITEM_INFO 테이블을 i로, ITEM_TREE 테이블을 t로 참조합니다.
- ITEM_INFO의 ITEM_ID와 ITEM_TREE의 PARENT_ITEM_ID를 기준으로 LEFT JOIN을 수행합니다. 이 조인은 ITEM_INFO의 모든 항목을 포함하면서, ITEM_TREE의 PARENT_ITEM_ID와 일치하지 않는 경우도 포함합니다.
- 부모 항목이 아닌 항목 필터링
- WHERE t.item_id IS NULL 조건을 사용하여 ITEM_TREE 테이블에 부모 항목으로 나타나지 않는 항목만 선택합니다. 즉, ITEM_INFO의 항목이 ITEM_TREE의 부모 항목이 아닌 경우를 찾습니다.
- 결과 그룹화 및 정렬
- GROUP BY i.ITEM_ID는 ITEM_ID로 결과를 그룹화합니다. 이 경우 각 ITEM_ID에 대한 정보를 집계합니다.
- ORDER BY i.ITEM_ID DESC는 결과를 항목 ID를 기준으로 내림차순으로 정렬합니다.
Code
select i.item_id,ITEM_NAME, RARITY
from ITEM_INFO i left join ITEM_TREE t
ON i.ITEM_ID = t.PARENT_ITEM_ID
where t.item_id is null
group by i.ITEM_ID
order by i.ITEM_ID desc
'알고리즘 > SQL' 카테고리의 다른 글
[프로그래머스] 분기별 분화된 대장균의 개체 수 구하기 (0) | 2024.09.19 |
---|---|
[프로그래머스] 조건에 부합하는 중고거래 댓글 조회하기 (0) | 2024.09.19 |
[프로그래머스] 대장균들의 자식의 수 구하기 (0) | 2024.09.19 |
[프로그래머스] 특정 조건을 만족하는 물고기별 수와 최대 길이 구하기 (0) | 2024.09.19 |
[프로그래머스] 가장 큰 물고기 10마리 구하기 (0) | 2024.09.19 |