iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Oracle递归查询的几种方法
  • 879
分享到

Oracle递归查询的几种方法

2024-04-02 19:04:59 879人浏览 泡泡鱼
摘要

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

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条件进行过滤。

您可能感兴趣的文档:

--结束END--

本文标题: Oracle递归查询的几种方法

本文链接: https://www.lsjlt.com/news/42499.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Oracle递归查询的几种方法
    oracle的start with connect by prior是根据条件递归查询"树",分为四种使用情况:  第一种:start with 子节点ID='...' connect ...
    99+
    2022-10-18
  • Oracle递归查询connect by用法
    目录一、概述1、层级查询的基本语法:二、使用1、基本用法2、SYS_CONNECT_BY_PATH() 函数3、CONNECT_BY_ISLEAF 伪列4、CONNECT_BY_RO...
    99+
    2022-11-13
  • mysql实现递归查询的方法
    小编给大家分享一下mysql实现递归查询的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!mysql实现递归查询的方法:首先创建表,并初始化数据;然后向下递归,利用【find_in_set(...
    99+
    2022-10-18
  • 递归查询两种写法的性能差异
    对于递归查询,KINGBASE用户可以选择使用connect by ,或者使用 with recursive 。下面,我们以例子来看下二者的差别。 一、构造数据 create table test_recursive(id intege...
    99+
    2017-01-29
    递归查询两种写法的性能差异
  • MySQL递归查询的3种实现方式实例
    目录1.建表脚本1.1.建表2.递归查询三种实现方式2.1. 方式一 创建自定义函数实现递归查询2.1.1. 查询子节点的函数 查询时  包含自身 2.1.2. ...
    99+
    2022-11-13
  • 递归查询两种写法与性能差异
    对于递归查询,KINGBASE用户可以选择使用connect by ,或者使用 with recursive 。下面,我们以例子来看下二者的差别。 一、构造数据 create table test_recursive(id intege...
    99+
    2021-07-23
    递归查询两种写法与性能差异
  • Mysql树形递归查询的实现方法
    前言 对于数据库中的树形结构数据,如部门表,有时候,我们需要知道某部门的所有下属部分或者某部分的所有上级部门,这时候就需要用到mysql的递归查询 最近在做项目迁移,Oracle版本的迁到Mysql版本,遇...
    99+
    2022-10-18
  • MySQL实现递归查询的方法有哪些
    MySQL中实现递归查询的方法有以下几种:1. 使用存储过程:可以在存储过程中使用递归的方式进行查询。在每次递归调用时,将查询到的结...
    99+
    2023-09-11
    MySQL
  • Mysql8.0递归查询的简单用法
    这篇文章主要介绍“Mysql8.0递归查询的简单用法”,在日常操作中,相信很多人在Mysql8.0递归查询的简单用法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mysql8.0递归查询的简单用法”的疑惑有所...
    99+
    2023-06-20
  • Oracle通过递归查询父子兄弟节点方法示例
    前言 说到Oracle中的递归查询语法,我觉得有一些数据库基础的童鞋应该都知道,做项目的时候应该也会用到,下面本文就来介绍下关于Oracle通过递归查询父子兄弟节点的相关内容,分享出来供大家参考学习,下面话...
    99+
    2022-10-18
  • mysql递归子节点查询的方法是什么
    在MySQL中,递归子节点查询可以通过使用递归查询语句来实现。MySQL本身没有提供递归查询的功能,但可以通过使用存储过程或视图来模...
    99+
    2023-10-25
    mysql
  • Mysql树形表的两种查询方案(递归与自连接)
    你有没有遇到过这样一种情况: 一张表就实现了一对多的关系,并且表中每一行数据都存在“爷爷-父亲-儿子-…”的联系,这也就是所谓的树形结构 对于这样的表很显然想要通过查询来实现价值绝对是不能只靠sel...
    99+
    2023-09-30
    mysql 数据库
  • MyBatis实现两种查询树形数据的方法详解(嵌套结果集和递归查询)
    目录方法一:使用嵌套结果集实现1,准备工作2,实现代码方法二:使用递归查询实现    树形结构数据在开发中十分常见,比如:菜单数、组织树, 利用&nbs...
    99+
    2022-11-12
  • mysql递归查询所有子级的方法是什么
    在MySQL中,可以使用递归查询(Recursive Query)来查询所有子级。MySQL并不直接支持递归查询,但可以通过使用`W...
    99+
    2023-09-11
    mysql
  • Java分页查询的几种实现方法
    最近在做需求的过程中遇到几个需要分页查询的需求,我也对分页有了较深的了解。分页一般分为两种一种是直接在sql中分页,一种是在内存中分页。本文仅针对内存中分页做记录。 第一种    如果是一个查询接口,向接口中传入page,和size(p...
    99+
    2023-09-01
    java 数据库 mysql
  • Mysql8.0递归查询的简单用法示例
    前言 本文使用Mysql8.0的特新实现递归查询,文中给出了详细的实例代码,下面话不多说了,来一起看看详细的介绍吧 Mysql8.0递归查询用法 表数据如下 +--------+-...
    99+
    2022-11-12
  • Java方法递归的形式和常见递归算法(方法递归结合File类查找文件)
    目录方法递归方法递归的形式递归常见的算法非规律递归案例方法递归 方法递归的形式 什么是方法递归 方法直接调用自己或者间接调用自己的形式称为方法递归( recursion)。 递归做为...
    99+
    2023-02-28
    Java方法递归 java递归算法 java File类查找文件
  • 几种常见的归一化方法
    数据归一化是深度学习数据预处理中非常关键的步骤,可以起到统一量纲,防止小数据被吞噬的作用。 一:归一化的概念 归一化就是把所有数据都转化成[0,1]或者[-1,1]之间的数,其目的是为了取消各维数据之间的数量级差别,避免因为输入输出数据数量...
    99+
    2023-09-03
    深度学习 python 人工智能
  • Mysql的主要几种日志及慢查询方法
    本文主要给大家简单讲讲Mysql的主要几种日志及慢查询方法,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望Mysql的主要几种日志及慢查询方法这篇文章可以给大...
    99+
    2022-10-18
  • oracle递归优化的方法是什么
    Oracle递归查询优化的方法主要有以下几个:1、使用WITH子句使用WITH子句可以将递归查询转换为非递归查询,提高查询效率。WI...
    99+
    2023-05-13
    oracle递归优化 oracle
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作