【发布时间】:2017-05-01 09:42:50
【问题描述】:
给定一个节点表(它们的 Id 和它们的父 Id),我如何获取所有根节点、内部节点和叶节点?
这是我目前所拥有的:
根节点
SELECT Id, "Root" FROM NodeTable
WHERE ParentId IS NULL;
内部节点
???
叶节点
SELECT N1.Id, "Leaf" FROM NodeTable N1
LEFT JOIN NodeTable N2 ON N1.Id = N2.ParentId
WHERE N2.ParentId IS NULL;
这是正确的吗?有没有一种方法可以在一个查询中做到这一点?
【问题讨论】:
标签: mysql binary-tree