본문 바로가기
Data/[코드카타]1일1코드

[SQL연습-Programmers]ROOT 아이템 구하기

by MIN_JOON 2024. 9. 5.
  • 문제: ROOT 아이템을 찾아 아이템 ID(ITEM_ID), 아이템 명(ITEM_NAME)을 출력하는 SQL문을 작성해주세요.
  • 조건: 결과는 아이템 ID를 기준으로 오름차순 정렬해주세요.
  • 풀이
    • ROOT 아이템 : PARENT_ITEM_ID가 NULL인 경우
WITH ROOT_ITEM AS                                #WITH문을 이용해 ROOT 아이템의 명단을 임시 테이블로 작성
(
SELECT
    ITEM_ID
FROM 
    ITEM_TREE
WHERE
    PARENT_ITEM_ID IS NULL
)
SELECT                                           #아이템ID와 아이템 명을 추출
    ITEM_ID                
    ,ITEM_NAME
FROM
    ITEM_INFO
WHERE
    ITEM_ID IN (SELECT ITEM_ID FROM ROOT_ITEM)   #아이템 ID가 임시테이블인 ROOT_ITEM에 있는 경우만
ORDER BY
    ITEM_ID                                      #아이템 ID에 대하여 오름차순 정렬
;

문제출처: https://school.programmers.co.kr/learn/courses/30/lessons/273710