设为首页 加入收藏

TOP

Oracle的start with connect by prior如何使用
2019-09-14 00:50:49 】 浏览:34
Tags:Oracle start with connect prior 如何 使用

第一种:start with 子节点ID='...' connect by prior 子节点ID = 父节点ID


select * from mdm_organization o start with o.org_code='10000008' connect by prior o.org_code=o.org_parent_code


 按照条件org_code='10000008',对'10000008'(包括自己)及其子节点进行递归查询,结果如下



查询结果自己所有的后代节点(包括自己)。


第二种:start with 子节点ID='...' connect by 子节点ID = prior 父节点ID


select * from mdm_organization o start with o.org_code='10000008' connect by o.org_code=prior o.org_parent_code


 按照条件org_code='10000008',对'10000008'(包括自己)及其父节点进行递归查询,结果如下



 查询结果自己所有的前代节点(包括自己)。


第三种:start with 父节点ID='...' connect by prior 子节点ID = 父节点ID


select * from mdm_organization o start with o.org_parent_code='10000008' connect by prior o.org_code=o.org_parent_code


 按照条件org_parent_code='10000008',对'10000008'(不包括自己)子节点进行递归查询,结果如下



 查询结果自己所有的后代节点(不包括自己)。


第四种:start with 父节点ID='...' connect by 子节点ID = prior 父节点ID


select * from mdm_organization o start with o.org_parent_code='10000008' connect by o.org_code = prior o.org_parent_code


按照条件org_parent_code='10000008',对'10000008'(包括自己)的第一代孩子们及其父节点进行递归查询,结果如下



 查询结果自己的第一代后节点和所有的前代节点(包括自己)。


 如果有where 条件,如下


 select * from mdm_organization o where 条件 start with o.org_parent_code='10000008' connect by o.org_code = prior o.org_parent_code


 执行顺序为先执行start with connect by prior,然后再按照where条件进行过滤。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Oracle使用SQL分析锁 下一篇Oracle 误删除表的几种恢复方法

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目