本文转载自   https://blog.csdn.net/BondChenJ/article/details/78581625

1、适用状况:blog

适用树状结构数据,例如包含id,parent_id字段的数据表 ,表中数据能够经过某些字段找到其中的父子关系。递归

2、语法:get

select  *  from  表名  start  with 条件1  connnect by 条件2  where  条件3it

一、举例:io

(1)经过父ID查询全部子节点select

select * from group_info  start with parent_group_id='0' connect by prior group_id=parent_group_id语法

(2)经过子ID查询全部父节点数据

select * from group_info start with group_id='61' connect by prior parent_group_id=group_id查询

二、说明:

(1)start with 后面的条件表示递归从哪里开始。

select *  from group_info  start with parent_group_id='0' connect by prior group_id=parent_group_id  从父编号为0的数据开始查

select *  from group_info  start with group_id='0' connect by prior group_id=parent_group_id 从编号为0的数据开始查

显然在须要查询父节点为0的全部子节点时,第二条查询语句会包含父节点。

(2)connect by 条件2  表示 递归时先后两条数据是以条件2来创建联系的

(3)prior的位置决定了递归时的具体关系或者说是决定了查询时的检索顺序。

prior 字段1=字段2   能够理解为当前节点的字段1等于下一个节点的字段2

select * from group_info start with group_id='5' connect by  parent_group_id= prior group_id

能够理解为 当前节点的group_id 是下一个节点的parent_group_id ,也就是查询 父节点下的全部子节点

(当前这条记录的group_id =下一条记录的parent_group_id )

select *  from group_info start with group_id='5' connect by   prior   parent_group_id= group_id

能够理解为当前节点的parent_group_id  是下一个节点的group_id ,也就是查询子节点的全部父节点

(4)level关键字表示层次

可经过level 关键字表示查询结果所在层次,根节点的层号为1

select g.* , level from group_info g start with parent_group_id=0 connect by prior group_id=parent_group_id

oracle 根据节点id递归查询全部的父节点(转载)的更多相关文章

  1. jQuery之防止冒泡事件,冒泡事件就是点击子节点,会向上触发父节点,祖先节点的点击事件。

    冒泡事件就是点击子节点,会向上触发父节点,祖先节点的点击事件. 下面是html代码部分: <body> <div id="content"> 外层div元素 ...

  2. 编写一个方法,输入DOM节点,返回包含所有父节点的一个数组

    编写一个方法,输入DOM节点,返回包含所有父节点的一个数组 function getParentsNodes(element) { var parents = []; var getParentsNo ...

  3. LeetCode 二叉树,两个子节点的最近的公共父节点

    LeetCode 二叉树,两个子节点的最近的公共父节点 二叉树 Lowest Common Ancestor of a Binary Tree 二叉树的最近公共父亲节点 https://leetcod ...

  4. [extjs] ExtJS4 treepanel 子节点选中父节点自动选中,选中父节点 子节点自动全部选中

    ExtJS4 treepanel 主要添加viewConfig重的代码: xtype:'treepanel', store: menuStore, id:'menuTreePanel', viewCo ...

  5. MySQL递归查询树状表的子节点、父节点具体实现

    mysql版本(5.5.6等等)尚未支持循环递归查询,和sqlserver.oracle相比,mysql难于在树状表中层层遍历的子节点.本程序重点参考了下面的资料,写了两个sql存储过程,子节点查询算 ...

  6. 包含mysql 递归查询父节点 和子节点

    包含mysql 递归查询父节点 和子节点 mysql递归查询,查父集合,查子集合 查子集合 --drop FUNCTION `getChildList` CREATE FUNCTION `getChi ...

  7. JavaScript通过父节点ID递归生成JSON树

    JavaScript通过父节点ID递归生成JSON树: · 实现思路:通过递归实现(第一次递归的时候查询出所有的父节点,然后通过当前父节点id不断地去查询所有子节点,直到递归完毕返回)   · 代码示 ...

  8. Oracle 树操作、递归查询(select…start with…connect by…prior)

    一.Oracle中start with…connect by prior子句用法 connect by 是结构化查询中用到的,其基本语法是:select … from tablename start ...

  9. 你真的会玩SQL吗?查询指定节点及其所有父节点的方法

    --查询ID = '009'的所有父节点 ' ;WITH T AS ( SELECT ID , PID , NAME FROM TB WHERE ID = @ID UNION ALL SELECT A ...

  10. 基于EasyUi ComBotree树修改 父节点选择问题

    本人在使用 Easy UI 期间发现了一个不太适合项目的bug,可能也不算bug把 . 毕竟不同项目背景 取舍不同. 我在做网元树选择的时候  发现当选取父节点后,子节点都会被选择  返回  .但是如 ...

随机推荐

  1. vue2-vuex

    专门在 Vue 中实现集中式状态(数据)管理的一个 Vue 插件,对 vue 应 用中多个组件的共享状态进行集中式的管理(读/写),也是一种组件间通信的方式,且适用于任意组件间通信 应用场景: 多个组 ...

  2. python开发包之远程隧道链接sshtunnel

    缘起: 公司很多的数据库的链接都是本地连接或者指定ip地址可以访问, 如果你没有该ip权限, 但是你可以登录该数据库所在的服务器, 这个时候就可以使用ssh链接上这个服务器,以此为跳板进行数据库的链接 ...

  3. Redis可视化管理工具之Redislive

    RedisLive是一款用Python编写基于WEB的Redis图形监控工具,也是一款实时监控Redis数据的开源软件,以WEB的形式展现出redis中的key的情况,实例数据等信息. RedisLi ...

  4. HTML img标签

    1.基本用法 <img src="kof5.jpg" alt="特瑞"> src属性为图片的链接地址,如果图片加载失败,代替图片的就是alt属性设置 ...

  5. 在Windows下为CodeBlocks20.3安装、配置wxWidget3.2.6

    0.前言 CodeBlocks是使用C++编写程序的一个很好的开发环境,最大的好处是它是开源的.免费的,而不仅仅是因为它具有跨平台的能力.还有一个很重要的原因是在CodeBlocks中可以使用wxWi ...

  6. E. Photoshoot for Gorillas

    题意 给定一个整数 \(T\),代表共有\(T\)组测试用例,对于每组测试用例: 给定四个整数 \(n,m,k和w(1 \leq n,m \leq 2 * 10^5, 1 \leq w \leq n ...

  7. Windows更改远程桌面端口

    为了远程安全,默认在3389改为别的端口. 本示例为3389改为53389 1.步骤:打开"开始→运行",输入"regedit",打开注册表,进入以下路径: [ ...

  8. java-信息安全(二十)国密算法 SM1,SM2,SM3,SM4

    一.概述 国密即国家密码局认定的国产密码算法.主要有SM1,SM2,SM3,SM4.密钥长度和分组长度均为128位.目前主要使用公开的SM2.SM3.SM4三类算法,分别是非对称算法.哈希算法和对称算 ...

  9. Error: Application Server not specified

    在IDEA中tomcat不能运行,点开Edit Configuration发现如下图情况:tomcat图标猫上有个红叉,且下面有警告提示:Error: Application Server not s ...

  10. Redis反序列化LocalDateTime时报错

    今天在整合redis和spring boot的时候,遇到了一个错误,记录一下. 报错如下: Could not read JSON: Cannot construct instance of `jav ...