oracle递归层级查询 start with connect by prior
2024-10-02 01:19:58
递归层级查询:start with connect by prior
以部门表作为解析
表结构:dept{id:'主键',name:'部门名称',parent_id:'父亲id'}
select * from dept
start with id=1 connect by prior id= parent_id
order siblings by id
分两部分理解:
第一步找出一条数据作为基础:select * from dept start with id =?
第二步prior放在左边还是右边是关键。
查询子节点:prior id = parent_id。以id作为需要匹配对象找出parent_id相等的数据。以上面sql作为例子 1= parent_id找出满足这样条件的记录。
查询父节点:id = prior parent_id。以parent_id作为需要匹配的对象,找出id等于parent_id的记录。
最后:观察数据结果集层级是否正确。
最新文章
- [LeetCode] Longest Substring with At Most K Distinct Characters 最多有K个不同字符的最长子串
- 禁用符合一定条件的AD对象 (含Filter参数的写法)
- TQImport3XLS.Map
- UVa 11021 (概率 递推) Tribles
- POJ 1269 Intersecting Lines(几何)
- Ubuntu 12.04 root默认密码? 如何使用root登录?
- 经常使用的js小方法
- 用for while 成绩的有效输入
- 定点分析: MySQL InnoDB是如何保证系统异常断电情况下的数据可靠性?
- asp.net core ABP模板本地化设置
- Windows下安装使用python的Flask框架
- CentOS 搭建git服务
- Linux系统模式之间的转换
- 【论文笔记】Dynamic Routing Between Capsules
- LoadLibrary加载动态库失败
- S-Nim HDU - 1536
- Netty 中 IOException: Connection reset by peer 与 java.nio.channels.ClosedChannelException: null
- 开发还是应该使用linux
- python-day36--并发编程之多线程
- 【bzoj2741】[FOTILE模拟赛] L
热门文章
- DispatcherTimer
- VMware Workstation 12下载安装与激活图文教程
- Java从零开始学三十七(JAVA IO- 二进制文件读写)
- 亲自己主动手从源代码 构建 Groovy 2.3.8 公布包
- Web 应用性能提升的 10 个建议
- Tomcat启动时选择加载项目
- Spring <;context:annotation-config/>; 说明
- Eventually Consistent(最终一致性)(转)
- 〖Windows〗Linux的Qt程序源码转换至Windows平台运行,编码的解决
- java Socket Udp