oracle 递归查询次数,Oracle递归查询的几种方法
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条件进行过滤。
标签:code,递归,10000008,查询,start,connect,Oracle,org,节点
来源: https://blog.51cto.com/11147669/2458053
oracle 递归查询次数,Oracle递归查询的几种方法相关推荐
- 在Oracle中执行动态SQL的几种方法------转载
在Oracle中执行动态SQL的几种方法 在一般的sql操作中,sql语句基本上都是固定的,如: SELECT t.empno,t.ename FROM scott.emp t WHERE t.de ...
- oracle事务数统计,【学习笔记】Oracle数据库收集统计信息的两种方法介绍案例
天萃荷净 分享一篇关于Oracle数据库收集统计信息的办法,Oracle DBMS_STATS与Oracle analyze使用方法案例 今天群里面讨论DBMS_STATS和analyze,这里进行了 ...
- Oracle 实现行转列的几种方法
Oracle 实现行转列的几种方法 表数据 1 使用 decode 与聚合函数实现 2 使用 case when 与聚合函数实现 3 使用 pivot 函数 表数据 with students as( ...
- oracle数据库导入dmp文件,两种方法
开始的准备工作:前面的步骤都一样 一: 创建表空间: create tablespace root datafile 'D:\Oracle\dataSpace\root.dbf' (你自己的存放空间) ...
- Oracle中新建数据表的两种方法
首发微信公众号:SQL数据库运维 原文链接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247485212&idx=1 ...
- oracle 10046详解,ORACLE TRACE 10046事件常见的几种方法
下面是10046事件的几个等级分别表示什么意思 Level 0 Tracing is disabled. This is the same as setting SQL_TRACE = FALSE. ...
- oracle表转为分区表,Oracle普通表转分区表的几种方法
将普通表转换成分区表有4种方法: 1) Export/import method 2) Insert with a subquery method 3) Partition exchange m ...
- oracle 解锁 账户_oracle用户解锁三种方法
ORA-28000: the account is locked- 的解决办法 2009-11-11 18:51 ORA-28000: the account is locked 第一步:使用 PL/ ...
- oracle和mysql的备份有几种方法_Oracle 数据库的备份与恢復都有哪几种方法?
oracle数据库的备份与恢复 ---- 当我们使用一个数据库时,总希望数据库的内容是可靠的.正确的,但由于计算机系统的故障(包括机器故障.介质故障.误操作等),数据库有时也可能遭到破坏,这时如何尽快 ...
最新文章
- Logstash(二)input、codec插件详解
- 《LeetCode力扣练习》第461题 汉明距离 Java
- 为什么站点实现了https加密之后还是能看到相关数据
- Docker精华问答 | 数据库为什么不适合放在 Docker 中运行?
- c语言tmplink,为了便于阅读,偿试把BLHeli的汇编源程序改成C语言格式
- linux系统怎样写单片机程序,单片机知识是Linux驱动开发的基础之一以及如何学单片机...
- linux NAND驱动之四:6410上的NAND读写流程
- android 耗电量分析,使用能耗性能剖析器检查耗电量
- from StyleFrame import StyleFrame, Styler ModuleNotFoundError: No module named ‘StyleFrame‘
- 【学习笔记】噬菌体学
- Windows子系统WSL
- Cadence PSpice中更改Cursor控制的曲线及打印图形Cursor信息的方法
- eplan p8详细安装步骤文库_EPLAN P8 2.1.6 安装指南
- 移动端多页面APP(MPA)开发体验
- matlab反插值,matlab反距离权重插值
- Ubuntu 安装MySQL 并设置其他主机可访问
- 10W+字C语言硬核总结(二),值得阅读收藏!
- java 获取下一年_JAVA获取下一年,下个月,下一天;月份为何以0开始?
- 从委内瑞拉大范围停电一事来看美国的攻击手段
- 和平精英显示模拟服务器已满,和平精英模拟器注册达到上限? 模拟器注册上限完美解决攻略...
热门文章
- 魔兽初级上手指南快捷键
- java 迭代器的优缺点_java迭代器和for循环优劣详解
- python自动检测wifi是否能联网,断开wifi重新连接wifi的代码。
- 职场人必用的MindManager免费思维导图软件使用教程。
- 基于sentry的前端错误监控日志系统(部署sentry服务器/前端项目部署)-让前端最快的定位到生产问题
- display:list-item
- 西工大机考《 市场营销学》大作业网考
- Goby漏洞更新 | 斐讯 FIR302B management.cgi 远程命令执行漏洞 (CVE-2022-27373)
- layui如何刷新iframe页面
- 资金方进退两难:借呗、度小满等助贷巨头不良猛涨,头部平台有钱也不敢放