博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle的start with connect by prior
阅读量:5484 次
发布时间:2019-06-16

本文共 1369 字,大约阅读时间需要 4 分钟。

 

oracle的start with connect by prior是根据条件递归查询"树",分为四种使用情况:  第一种:start with 子节点ID='...' connect by prior 子节点ID = 父节点ID
1
select 
from 
mdm_organization o start 
with 
o.org_code=
'10000008' 
connect 
by 
prior 
o.org_code=o.org_parent_code

 按照条件org_code='10000008',对'10000008'(包括自己)及其子节点进行递归查询,结果如下

   查询结果自己所有的后代节点(包括自己)。

第二种:start with 子节点ID='...' connect by 子节点ID = prior 父节点ID
1
select 
from 
mdm_organization o start 
with 
o.org_code=
'10000008' 
connect 
by 
o.org_code=
prior 
o.org_parent_code

 按照条件org_code='10000008',对'10000008'(包括自己)及其父节点进行递归查询,结果如下

 查询结果自己所有的前代节点(包括自己)。

第三种:start with 父节点ID='...' connect by prior 子节点ID = 父节点ID
1
select 
from 
mdm_organization o start 
with 
o.org_parent_code=
'10000008' 
connect 
by 
prior 
o.org_code=o.org_parent_code

 按照条件org_parent_code='10000008',对'10000008'(不包括自己)子节点进行递归查询,结果如下

 

 查询结果自己所有的后代节点(不包括自己)。

第四种:start with 父节点ID='...' connect by 子节点ID = prior 父节点ID
1
select 
from 
mdm_organization o start 
with 
o.org_parent_code=
'10000008' 
connect 
by 
o.org_code = 
prior 
o.org_parent_code
按照条件org_parent_code='10000008',对'10000008'(包括自己)的第一代孩子们及其父节点进行递归查询,结果如下

 查询结果自己的第一代后节点和所有的前代节点(包括自己)。

 如果有where 条件,如下

 select * from mdm_organization o where 条件 start with o.org_parent_code='10000008' connect by o.org_code = prior o.org_parent_code

 执行顺序为先执行start with connect by prior,然后再按照where条件进行过滤。

转载于:https://www.cnblogs.com/pxkuan/p/9909959.html

你可能感兴趣的文章
《关爱码农成长计划》第一期报告
查看>>
学习进度表 04
查看>>
谈谈javascript中的prototype与继承
查看>>
时序约束优先级_Vivado工程经验与各种时序约束技巧分享
查看>>
minio 并发数_MinIO 参数解析与限制
查看>>
flash back mysql_mysqlbinlog flashback 使用最佳实践
查看>>
mysql存储引擎模式_MySQL存储引擎
查看>>
python类 del_全面了解Python类的内置方法
查看>>
java jni 原理_使用JNI技术实现Java和C++的交互
查看>>
java 重写system.out_重写System.out.println(String x)方法
查看>>
mysql client命令行选项
查看>>
配置ORACLE 11g绿色版客户端和PLSQL远程连接环境
查看>>
ASP.NET中 DataList(数据列表)的使用前台绑定
查看>>
Linux学习之CentOS(八)--Linux系统的分区概念
查看>>
JavaScript---事件
查看>>
Android NDK入门实例 计算斐波那契数列一生成jni头文件
查看>>
c/c++性能优化--I/O优化(上)
查看>>
将HTML特殊转义为实体字符的两种实现方式
查看>>
System.Func<>与System.Action<>
查看>>
asp.net开源CMS推荐
查看>>