어떤 노드가 취할 수 있는 경우를 그려보면 다음과 같다.

[1] 어떤 노드가 Root Node라면, 그 노드의 부모 노드가 Null이어야 한다.
[2] 어떤 노드가 Leaf Node라면, 그 노드가 어떤 노드의 부모 노드가 아니어야 한다.
[3] 어떤 노드가 Inner Node라면, 그 노드의 부모 노드와 자식 노드가 모두 Null이 아니어야 한다.
그리고 CASE WHEN THEN 구문을 통해 이를 구현할 수 있다.
SELECT
N,
CASE
WHEN P IS NULL THEN 'Root'
WHEN N NOT IN (SELECT DISTINCT P FROM BST WHERE P IS NOT NULL) THEN 'Leaf'
ELSE 'Inner'
END AS N_TYPE
FROM
BST
ORDER BY
N ASC;