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을 출력했다.