Oracle实现递归查询

有如下表Tree:

现在要递归查询冶炼(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的父节点和子节点,结果如下:

相关文章

Java Oracle 结果集是Java语言中处理数据库查询结果的一种方...
Java AES和Oracle AES是现代加密技术中最常使用的两种AES加密...
Java是一种广泛应用的编程语言,具备可靠性、安全性、跨平台...
随着移动互联网的发展,抽奖活动成为了营销活动中不可或缺的...
Java和Oracle都是在计算机领域应用非常广泛的技术,他们经常...
Java 是一门非常流行的编程语言,它可以运行于各种操作系统上...