Oracle 树查询

--语法
select * from [YOU TABLE]
START WITH  条件1
CONNECT BY 条件2

条件1: 表示从哪个节点开始查找, 也就是通过条件1 查询到的数据, 作为后续查询的起始节点(参数).
当然可以放宽限定条件,如 ID in ('00001', '00011')以取得多个根节点,也就是多棵树;

条件2: 是连接条件,其中用PRIOR表示上一条记录,例如CONNECT BY PRIOR ID = PID
意思就是本条记录的ID是下一条记录的PID. (把当前的ID作为下一次查询的PID继续找下一级)。
注意:CONNECT BY PRIOR PID = ID 这样就是反向查询 找到他的所有上级数据

转载自:https://blog.csdn.net/weixin_38362455/article/details/90378159