608_Tree Node
[medium]
Given a table tree
, id is identifier of the tree node and p_id is its parent node's id.
Each node in the tree can be one of three types:
Leaf: if the node is a leaf node.
Root: if the node is the root of the tree.
Inner: If the node is neither a leaf node nor a root node.
Write a query to print the node id and the type of the node. Sort your output by the node id. The result for the above sample is:
Explanation
Node '1' is root node, because its parent node is NULL and it has child node '2' and '3'.
Node '2' is inner node, because it has parent node '1' and child node '4' and '5'.
Node '3', '4' and '5' is Leaf node, because they have parent node and they don't have child node.
Note
If there is only one node on the tree, you only need to output its root attributes.
Solution 1: using join
Solution 2: using subquery
Last updated