leetcode刷題MySQL題解十四
題目叙述
給定一個表 tree,id 是樹節點的編号, p_id 是它父節點的 id 。
±—±-----+
| id | p_id |
±—±-----+
| 1 | null |
| 2 | 1 |
| 3 | 1 |
| 4 | 2 |
| 5 | 2 |
±—±-----+
樹中每個節點屬于以下三種類型之一:
葉子:如果這個節點沒有任何孩子節點。
根:如果這個節點是整棵樹的根,即沒有父節點。
内部節點:如果這個節點既不是葉子節點也不是根節點。
寫一個查詢語句,輸出所有節點的編号和節點的類型,并将結果按照節點編号排序。上面樣例的結果為:
題目解答
# Write your MySQL query statement below
select id, if(p_id is null, 'Root', if(id in (select p_id from tree t0), 'Inner', 'Leaf')) as Type from tree t1;