https://school.programmers.co.kr/learn/courses/30/lessons/273712
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
코드
SELECT ITEM_ID, ITEM_NAME, RARITY
FROM ITEM_INFO
WHERE ITEM_ID NOT IN (SELECT t1.ITEM_ID FROM ITEM_TREE t1 JOIN ITEM_TREE t2 ON t1.ITEM_ID = t2.PARENT_ITEM_ID)
ORDER BY ITEM_ID DESC
쿼리 실행 순서
실행 순서 | SQL 절 | 설명 |
1 | FROM (ITEM_TREE → t1) | ITEM_TREE 테이블을 t1 별칭으로 설정 |
2 | JOIN (t1과 t2 조인) | t1.ITEM_ID = t2.PARENT_ITEM_ID 조건으로 ITEM_TREE를 자기조인 |
3 | SELECT (서브쿼리) | t1.ITEM_ID 값을 선택하여 반환 |
4 | WHERE (ITEM_ID NOT IN (...)) | ITEM_ID가 서브쿼리 결과에 포함되지 않은 데이터만 선택 |
5 | FROM (ITEM_INFO) | ITEM_INFO 테이블에서 데이터를 가져옴 |
6 | SELECT | ITEM_ID, ITEM_NAME, RARITY 컬럼 선택 |
7 | ORDER BY (ITEM_ID DESC) | ITEM_ID 기준으로 내림차순 정렬 |
자기 조인을 통해서 PARENT_ITEM_ID 가 없는 ITEM을 찾을 수 있겠다고 생각했습니다.
'프로그래머스' 카테고리의 다른 글
[프로그래머스 SQL] 잡은 물고기의 평균 길이 구하기 - 쿼리 실행 순서와 함께 보자 (0) | 2025.03.03 |
---|---|
[프로그래머스 SQL] ROOT 아이템 구하기 - 쿼리 실행 순서와 함께 보자 (0) | 2025.03.03 |
[프로그래머스 SQL] 5월 식품들의 총매출 조회하기 - 쿼리 실행 순서와 함께 보자 (0) | 2025.03.03 |
[프로그래머스 SQL] 주문량이 많은 아이스크림들 조회하기 - 쿼리 실행 순서와 함께 보자 (0) | 2025.03.03 |
[프로그래머스 SQL] 조건에 맞는 도서와 저자 리스트 출력하기 - 쿼리 실행 순서와 함께 보자 (0) | 2025.03.03 |