project1 SQL语法部分 练习题 Binary Tree Nodes

题目链接在此:https://www.hackerrank.com/challenges/binary-search-tree-1/problem
高赞答案:
SELECT CASE
WHEN P IS NULL THEN CONCAT(N, ’ Root’)
WHEN N IN (SELECT DISTINCT P FROM BST) THEN CONCAT(N, ’ Inner’)
ELSE CONCAT(N, ’ Leaf’)
END
FROM BST
ORDER BY N ASC
我的答案:
select case
when p is null then concat(n, ’ Root’)
when n not in (select distinct p from bst) then concat(n, ’ Leaf’)
else concat(n, ’ Inner’)
end
from bst
order by n asc;
就第二个判断和第三个判断互换了下顺序,逻辑上挺好看懂的
我觉得逻辑没错,但执行出来却是错的。有大佬能帮忙看看吗?感谢!

根本不一样吧,第一个是p not null 并且n not in的是CONCAT(N, ’ Leaf’),
第二个是n not in 的是CONCAT(N, ’ Leaf’)