oracle 根据节点id递归查询全部的父节点(转载)
本文转载自 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递归查询全部的父节点(转载)的更多相关文章
- jQuery之防止冒泡事件,冒泡事件就是点击子节点,会向上触发父节点,祖先节点的点击事件。
冒泡事件就是点击子节点,会向上触发父节点,祖先节点的点击事件. 下面是html代码部分: <body> <div id="content"> 外层div元素 ...
- 编写一个方法,输入DOM节点,返回包含所有父节点的一个数组
编写一个方法,输入DOM节点,返回包含所有父节点的一个数组 function getParentsNodes(element) { var parents = []; var getParentsNo ...
- LeetCode 二叉树,两个子节点的最近的公共父节点
LeetCode 二叉树,两个子节点的最近的公共父节点 二叉树 Lowest Common Ancestor of a Binary Tree 二叉树的最近公共父亲节点 https://leetcod ...
- [extjs] ExtJS4 treepanel 子节点选中父节点自动选中,选中父节点 子节点自动全部选中
ExtJS4 treepanel 主要添加viewConfig重的代码: xtype:'treepanel', store: menuStore, id:'menuTreePanel', viewCo ...
- MySQL递归查询树状表的子节点、父节点具体实现
mysql版本(5.5.6等等)尚未支持循环递归查询,和sqlserver.oracle相比,mysql难于在树状表中层层遍历的子节点.本程序重点参考了下面的资料,写了两个sql存储过程,子节点查询算 ...
- 包含mysql 递归查询父节点 和子节点
包含mysql 递归查询父节点 和子节点 mysql递归查询,查父集合,查子集合 查子集合 --drop FUNCTION `getChildList` CREATE FUNCTION `getChi ...
- JavaScript通过父节点ID递归生成JSON树
JavaScript通过父节点ID递归生成JSON树: · 实现思路:通过递归实现(第一次递归的时候查询出所有的父节点,然后通过当前父节点id不断地去查询所有子节点,直到递归完毕返回) · 代码示 ...
- Oracle 树操作、递归查询(select…start with…connect by…prior)
一.Oracle中start with…connect by prior子句用法 connect by 是结构化查询中用到的,其基本语法是:select … from tablename start ...
- 你真的会玩SQL吗?查询指定节点及其所有父节点的方法
--查询ID = '009'的所有父节点 ' ;WITH T AS ( SELECT ID , PID , NAME FROM TB WHERE ID = @ID UNION ALL SELECT A ...
- 基于EasyUi ComBotree树修改 父节点选择问题
本人在使用 Easy UI 期间发现了一个不太适合项目的bug,可能也不算bug把 . 毕竟不同项目背景 取舍不同. 我在做网元树选择的时候 发现当选取父节点后,子节点都会被选择 返回 .但是如 ...
随机推荐
- CSP-S2024 游记
CSP-S2024 游记 Day 0 晚上放假回家了,宵夜整了点麦当当,就去睡了. Day 1 本来想多睡会,结果到 \(7:10\) 惊醒了,发现为防止早读迟到已经进化出自动起床功能了. 准备睡回笼 ...
- CommonsCollections3(基于ysoserial)
环境准备 JDK1.7(7u80).commons-collections(3.x 4.x均可这里使用3.2版本).javassist(3.12.1.GA) JDK:https://repo.huaw ...
- 基于antlr的表达式解析器——函数类型验证
package daicy.formula.evaluator; import java.util.HashMap; import java.util.Map; import org.antlr.ru ...
- DSPf28335 --工程模版相关文件
创建工程需要的两个文件 DSP2833x_common 1.cmd 下图中的两个文件(由TI公司提供的) 1.28335_RAM_lnk.cmd :程序下载到RAM中进行调试和仿真所使用的启动文件. ...
- 面试官:来谈谈Vue3的provide和inject实现多级传递的原理
前言 没有看过provide和inject函数源码的小伙伴可能觉得他们实现数据多级传递非常神秘,其实他的源码非常简单,这篇文章欧阳来讲讲provide和inject函数是如何实现数据多级传递的.ps: ...
- elementui半年选择组件
1.基于elementui开发的半年选择组件 2.调用 <el-halfyear-picker v-model="date" :size="size"&g ...
- element-ui季度选择组件
1.基于elementui开发的季度选择组件 2.调用 <el-quarter-picker v-model="start_time" :size="size&qu ...
- 构建交互式聊天界面:react-chat-element 实战小计
react聊天组件库:react-chat-elements 需求场景:用户可以通过多元的用户交互方式,如文件.图片.声音以及文字等输入相关信息,AI给出对应的回答 react-chat-elemen ...
- manim边做边学--淡入淡出
本篇介绍Manim中的淡入和淡出动画效果. 淡入FadeIn 主要用于让对象以渐变的方式在场景中显现. 它的特点是视觉上柔和过渡,能自然地引导观众注意新出现的元素. 淡出FadeOut 则是使对象逐渐 ...
- 6.MySQL性能优化
参数 作用范围 全局:对实例的所有会话起作用 会话级:只对当前会话起作用 set session binlog_rows_query_log_events = on; set global binlo ...