Oracle递归查询SQL语句分享

发布时间:2020-09-06编辑:脚本学堂
本文分享几个oracle数据库中用于递归查询的sql语句,有需要的朋友可以参考下,用于学习与掌握oracle中的递归查询还是很有用的。

本节内容:
Oracle递归查询

测试环境:
部门表: ID,PID

oracle递归查询的例子:
 

复制代码 代码示例:
--查询所有 
select count(1) from TD t 
--向下找包含自己 
select count(1) from TD connect by prior ID=PID start with ID='?' 
--向下找不包含自己 
select count(1) from TD start with PID='?' connect by prior ID=PID 
--向上找包含自己 
select count(1) from TD start with ID='?' connect by prior PID=ID 
--向下找包含自己 
select count(1) from TD start with ID='?' connect by prior ID=PID 
--向下找不包含自己 
select count(1) from TD start with PID='?' connect by prior ID=PID 
--查询部门下的一级子部门,并且每行后都包含自己 
select * from TD start with PID='?' connect by prior PID=ID 
--查询当前部门了所有一级子部门 
select count(1) from TD t where t.PID='?'