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把 . 毕竟不同项目背景 取舍不同. 我在做网元树选择的时候 发现当选取父节点后,子节点都会被选择 返回 .但是如 ...
随机推荐
- AT开发HTTP应用:Air780EP低功耗4G模组
已经写了一篇基于Air780EP模组AT开发的FOTA远程升级指南,有客户朋友询问能否讲讲HTTP应用部分?本期特别安排--涵盖HTTP基本应用流程.GET/POST/SSL请求示例.断点续传.常 ...
- 厉害了,8.7w人打满分!如果我找 BUG 能像他一样厉害就好了!
你好呀,我是歪歪. 最近在 B 站上看到一个让我觉得"非常哇塞"视频的: https://www.bilibili.com/video/BV1y4421U72G/ 视频的播放量有接 ...
- php orm的C扩展 ycdatabase
背景:昨天看了ice框架后,感觉运行效率非常高,与其差不多的就是yaf了,然后因为yaf没有orm有点遗憾,不过我就这样去找了找orm,产生了这样的感想 今天又看了一下yaf框架,确实和ice差不多, ...
- BI系统汇总
datart datart (数艺)是面向业务人员.数据工程师.数据分析师.数据科学家,致力于提供一站式数据可视化解决方案.既可以作为公 有云 / 私有云部署使用,也可作为可视化插件集成到三方系统.用 ...
- MapStruct 入门
介绍(What?Why?How?) What? MapStruct is a code generator that greatly simplifies the implementation of ...
- C#中 自定义验证规则ValidationAttribute的使用
C#中 自定义验证规则ValidationAttribute的使用 迷恋自留地 进行接口请求的时候难免会对请求字段进行验证,验证对象的所有字段的值是否合乎要求,如进行非空检测,长度检测等等. Requ ...
- 使用Maps SDK添加本地slpk
SceneView m_sceneView; public void LoadSceneLayerFromSLPK(SceneView sceneView, string slpkPath) { if ...
- JavaFx helloworld 坑
系统 Linux Mint IDEA 创建的 hello world 项目,用 IDEA 运行就僵住,然而用 mvn clean javafx:run 却能成功----在系统 terminal能成功, ...
- Idea 避免import *
File -> setting -> Editor -> Code Style -> Java -> Imports
- 首次公开,最新手机QQ客户端架构的技术演进实践
本文由腾讯技术何金源分享,原题"不畏移山,手机QQ技术架构升级变迁史",本文进行了排版和内容优化等. 1.引言 接上篇<总是被低估,从未被超越,揭秘QQ极致丝滑背后的硬核IM ...