CODING TEST/MySQL
Lv2 - ROOT 아이템 구하기
iamyuunzo
2025. 7. 29. 14:49
📌 문제 정보
- 문제 이름 : 프로그래머스 - (IS NULL) ROOT 아이템 구하
- 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/273710
📌 문제 요약
- ITEM_INFO 테이블 : ITEM_ID, ITEM_NAME, RARITY, PRICE
- ITEM_TREE 테이블 : ITEM_ID, PARENT_ITEM_ID
- 'ITEM_A'->'ITEM_B'와 같이 업그레이드가 가능할 때
- 'ITEM_A'를 'ITEM_B'의 PARENT 아이템
- PARENT 아이템이 없는 아이템 => ROOT 아이템
- ROOT 아이템을 찾아 아이템 ID(ITEM_ID), 아이템 명(ITEM_NAME)을 출력하는 SQL문을 작성해 주세요. 결과는 아이템 ID를 기준으로 오름차순 정렬. 각 아이템들은 오직 하나의 PARENT 아이템 ID를 가지며, ROOT 아이템의 PARENT 아이템 ID는 NULL
예시)
| ITEM_ID | ITEM_NAME | RARITY | PRICE |
| 0 | ITEM_A | COMMON | 10000 |
| 1 | ITEM_B | LEGEND | 9000 |
| 2 | ITEM_C | LEGEND | 11000 |
| 3 | ITEM_D | UNIQUE | 10000 |
| 4 | ITEM_E | LEGEND | 12000 |
| ITEM_ID | PARENT_ITEM_ID |
| 0 | NULL |
| 1 | 0 |
| 2 | 0 |
| 3 | NULL |
| 4 | 3 |
출력)
| ITEM_ID | ITEM_NAME |
| 0 | ITEM_A |
| 3 | ITEM_D |
📌 내 풀이 및 코드
SELECT ITEM_TREE.ITEM_ID, ITEM_NAME
FROM ITEM_INFO
JOIN ITEM_TREE
ON ITEM_INFO.ITEM_ID = ITEM_TREE.ITEM_ID
WHERE PARENT_ITEM_ID IS NULL
ORDER BY ITEM_ID ASC;
- JOIN과 FROM 테이블 정하는거 진짜 헷갈림... 이해한 바로는 ID는 두 테이블에 다 있지만 NAME은 INFO에만 있기 때문에 INFO를 기준으로 시작해야함!
📌 새로 배운 문법
<-- 이번 문제에서 새로 배운 Java 문법 정리 -->
- .