2010-07-03 117 views
1

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

+0

这功课吗? – Oded 2010-07-03 10:56:36

+2

听起来像一个家庭作业的问题......尤其是因为它甚至不是一个问题,而是一条指令...... – Guffa 2010-07-03 10:57:32

回答

2

这里是一个方式使用子查询做到这一点:

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

我会去NOT EXISTS而不是NOT IN,因为NOT IN可以得到缓慢。

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