oracle 递归查询 兄弟节点
时间: 2023-07-18 08:43:27 浏览: 101
Oracle通过递归查询父子兄弟节点方法示例
可以使用 Oracle 的 CONNECT BY 语句实现递归查询兄弟节点。假设我们有一个表格叫做 nodes,其中包含节点的 ID、父节点的 ID 和节点的名称,我们可以使用以下语句查询节点的兄弟节点:
```
SELECT n.id, n.name
FROM nodes n
WHERE n.parent_id = :parent_id
CONNECT BY PRIOR n.parent_id = n.parent_id
AND PRIOR n.id != n.id
```
其中,:parent_id 是需要查询兄弟节点的节点的父节点的 ID。CONNECT BY PRIOR 子句指定了节点的父子关系,PRIOR n.parent_id = n.parent_id 表示当前节点的父节点是前一个节点的父节点,PRIOR n.id != n.id 表示当前节点的 ID 不等于前一个节点的 ID,这样就可以查询到除了当前节点以外的兄弟节点了。
阅读全文