查找父节点?

时间:2010-07-03 10:53:35

标签: sql oracle

有两个表,一个具有节点名称,另一个具有连接详细信息(子节点,父节点),节点之间找到没有父节点的节点,即根节点。使用SQL查询。

2 个答案:

答案 0 :(得分:2)

以下是使用子查询执行此操作的方法:

SELECT *
FROM nodes
WHERE node_id NOT IN
(SELECT child_id FROM connectionTable)

答案 1 :(得分:2)

我会选择NOT EXISTS而不是NOT IN,因为NOT IN可能会变慢。

SELECT *
    FROM nodes
    WHERE NOT EXISTS (SELECT *
                          FROM connectionTable
                          WHERE connectionTable.child_id = nodes.node_id)