Oracle实现递归查询
2016-08-24 20:36
232 查看
有如下表Tree:
![](https://img-blog.csdn.net/20160824202258646?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
现在要递归查询冶炼(id=2)的所有父节点和子节点:SELECT * FROM tree START WITH id = 2 CONNECT BY PRIOR pid = id -- 递归查询父节点
union
SELECT * FROM tree START WITH id = 2 CONNECT BY pid = PRIOR id; -- 递归查询子节点查询结果:
![](https://img-blog.csdn.net/20160824202950260?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
当然,也可以使用in关键字递归查询多个节点的父节点和子节点:SELECT * FROM tree START WITH id in (1, 10) CONNECT BY PRIOR pid = id -- 递归查询父节点
union
SELECT * FROM tree START WITH id in (1, 10) CONNECT BY pid = PRIOR id; -- 递归查询子节点以上语句递归查询id为1或者10的父节点和子节点,结果如下:
现在要递归查询冶炼(id=2)的所有父节点和子节点:SELECT * FROM tree START WITH id = 2 CONNECT BY PRIOR pid = id -- 递归查询父节点
union
SELECT * FROM tree START WITH id = 2 CONNECT BY pid = PRIOR id; -- 递归查询子节点查询结果:
当然,也可以使用in关键字递归查询多个节点的父节点和子节点:SELECT * FROM tree START WITH id in (1, 10) CONNECT BY PRIOR pid = id -- 递归查询父节点
union
SELECT * FROM tree START WITH id in (1, 10) CONNECT BY pid = PRIOR id; -- 递归查询子节点以上语句递归查询id为1或者10的父节点和子节点,结果如下:
相关文章推荐
- oracle中用START WITH...CONNECT BY PRIOR子句实现递归查询
- oracle中connect by prior实现递归查询
- Oracle start with......connect by prior......子句实现递归查询
- Oracle递归查询:使用prior实现树操作
- oracle实现递归查询
- 在oracle中通过connect by prior来实现递归查询!
- Oracle实现递归查询
- ORACLE 递归查询实现
- Oracle Connect By Prior用法(实现递归查询)
- Oracle递归查询:使用prior实现树操作
- oracle中用START WITH...CONNECT BY PRIOR子句实现递归查询
- 在oracle中通过connect by prior来实现递归查询!
- 在oracle中通过connect by prior来实现递归查询!
- 在oracle中通过connect by prior来实现递归查询!
- Oracle Connect By Prior用法(实现递归查询)
- oracle中实现递归查询的SQL(connect by prior)
- 在oracle中通过connect by prior来实现递归查询
- oracle中用START WITH...CONNECT BY PRIOR子句实现递归查询
- oracle、子句实现递归查询
- 【转载】Oracle递归查询:使用prior实现树操作【本文出自叶德华博客】