oracle 递归查询实现树形结构 2025528编辑

Heaven helps those who help themselves
资深码农+深耕理财=财富自由
欢迎关注

oracle 递归查询实现树形结构

Created by Marydon on 2022-06-24 16:04

1.情景展示

将数据按照上下级关系,逐级展开,也就是我们常说的树形结构。

逐级展示,直到最后一级(注意:所有包含子级的都会被展开,上图只是示例,知道是这个意思就行了)。

2.具体分析

只要表里,存的字段有父级ID,就能使用CONNECT BY PRIOR来实现。

3.解决方案

语法:

SELECT T.*, LEVEL, CONNECT_BY_ISLEAF
FROM TABLE_NAME T
START WITH T.PARENT_ID = '最上级ID'
CONNECT BY PRIOR T.ID = T.PARENT_ID

套用:

SELECT T.*, LEVEL, CONNECT_BY_ISLEAF
FROM META_THEME T
START WITH T.PARENTTHEMEID = '0'
CONNECT BY PRIOR T.THEMEID = T.PARENTTHEMEID

4.扩展实现

如果我们只想查询某个节点下所有的子节点和子孙节点,如何实现?

语法:

SELECT T.*
FROM TABLE_NAME T
START WITH T.ID = 'ID'
CONNECT BY PRIOR T.ID = T.PARENT_ID
ORDER BY T.ID

套用:

SELECT T.THEMENAME
FROM META_THEME T
START WITH T.THEMEID = '123'
CONNECT BY PRIOR T.THEMEID = T.PARENTTHEMEID
ORDER BY T.THEMEID

 

 

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

 相关推荐:

与君共勉:最实用的自律是攒钱,最养眼的自律是健身,最健康的自律是早睡,最改变气质的自律是看书,最好的自律是经济独立 。

您的一个点赞,一句留言,一次打赏,就是博主创作的动力源泉!

↓↓↓↓↓↓写的不错,对你有帮助?赏博主一口饭吧↓↓↓↓↓↓

posted @   Marydon  阅读(528)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示
sorry,本博客所有代码禁止复制,原创代码需扫码支付方可获取!
关闭

1、先加好友再付费,点我加好友;

2、代码不能满足你的需求?加好友付费定制你的专属代码!

3、付费标准及方式,点我查看详情。