我有两个表,一个包含节点,另一个包含它们之间的关系,如下所示:
表A(命名节点)
NodeID | NodeName
100 | Name 1
101 | Name 2
102 | Name 3
表B(命名为关系)
NodeParent | NodeChild
100 | 101
101 | 102
我需要执行一个需要查找哪些节点是孤儿的查询(它们不在关系表中)。如何同时搜索NodeParent和NodeChild?
答案 0 :(得分:2)
SELECT
n.NodeID
FROM
Node AS n
LEFT JOIN
Relationship AS r
ON
n.NodeID = r.NodeChild
WHERE
r.NodeChild IS NULL
答案 1 :(得分:1)
这将为您提供关系表中没有子节点的所有节点。
select n.*
from Node n
left join Relationship r on r.NodeChild = n.NodeID
where r.NodeChild is null;