[IS NULL] ROOT 아이템 구하기(MySQL)

IamMilo·2024년 4월 11일
0

출처

https://school.programmers.co.kr/learn/courses/30/lessons/273710

문제



풀이

SELECT I.ITEM_ID, I.ITEM_NAME
FROM ITEM_INFO I
LEFT OUTER JOIN ITEM_TREE T
ON I.ITEM_ID = T.ITEM_ID
WHERE PARENT_ITEM_ID IS NULL
ORDER BY I.ITEM_ID

ITEM_INFO테이블에 있는 PARENT_ITEM_ID조건에 따라 ITEM_NAME을 셀렉트해야하므로 ITEM_INFO테이블을 기준으로 LEFT OUTER JOIN 조인했다. 해당 문제에서는 ITEM_TREE테이블에 PARENT_ITEM_ID가 존재하지 않는 경우도 NULL값으로 레코드가 존재하므로 INNER JOIN을 사용하는게 맞지만, NULL인 레코드가 존재하지 않는다면 LEFT OUTER JOIN을 사용해야만 한다. NULL 조건은 IS NULL 또는 IS NOT NULL로 비교해야하므로 IS NULL을 통해 ROOT ITEM을 출력했다.

profile
100번 고민보다 1번 실행

0개의 댓글