608. 树节点
分析:
此题需要用到SQL语言中的case when条件语句。
case when的使用方法为:
Case when条件表达式函数:类似Java中的if else语句。
语法:
CASE WHEN condition THEN result
[WHEN...THEN...]
ELSE result
END
举例:
1.简单CASE WHEN…else…end函数:
CASE SCORE WHEN 'A' THEN '优' ELSE '不及格' END
CASE SCORE WHEN 'B' THEN '良' ELSE '不及格' END
CASE SCORE WHEN 'C' THEN '中' ELSE '不及格' END
2.等同于,使用CASE WHEN条件表达式函数实现:
CASE WHEN SCORE = 'A' THEN '优'
WHEN SCORE = 'B' THEN '良'
WHEN SCORE = 'C' THEN '中' ELSE '不及格' END
608题解:
# Write your MySQL query statement below
select id,
case
when tree.p_id is null Then "Root"
when tree.id not in (select p_id from tree where p_id is not null) Then "Leaf"
else "Inner"
end as Type
FROM tree