网站首页 > 技术文章 正文
Oracle递归查询在多层次的表中应用广泛,实用性比较强,话不多说,上代码!
有这样子的一个表:
1.简单递归查询(自上而下)
--level是系统自带的列,表示第几层,CONNECT_BY_ISLEAF 表示是否是叶子节点
select a.*,level,CONNECT_BY_ISLEAF from DG_TEST a start with value = '根节点' connect by prior id = pid;
运行结果如下:2.简单递归查询(自下而上)
select a.* from DG_TEST a start with value = '三层子节点1' connect by prior pid = id;
运行结果如下:
3.查询三层节点的根节点
select id,pid,value,connect_by_root(id) as parentID,connect_by_root(value) from DG_TEST where value='三层子节点1' start with pid is null connect by prior id = pid;--根节点的pid为空
运行结果
4.递归路径
select a.*,substr(SYS_CONNECT_BY_PATH(a.value,'->'),3) as path from DG_TEST a start with value = '根节点' connect by prior id = pid;
运行结果
- 上一篇: Oracle 分页查询与数据去重深入理解
- 下一篇: Oracle查询扩展 oracle查询空间大小
猜你喜欢
- 2024-10-27 Oracle检索数据——简单查询 oracle查询技巧
- 2024-10-27 Oracle检索数据——筛选查询 oracle对查询结果进行筛选
- 2024-10-27 Oracle查询扩展 oracle查询空间大小
- 2024-10-27 Oracle 分页查询与数据去重深入理解
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- oracle面试 (55)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)