oracle 加条件 向上递归查询_Oracle递归查询的几种方法
第一种:start with 子节点ID=‘...‘ connect by prior 子节点ID = 父节点ID1select * from mdm_organization o start with o.org_code=‘10000008‘ connect by prior o.org_code=o.org_parent_code按照条件org_code=‘10000008‘,对‘10000
第一种:start with 子节点ID=‘...‘ connect by prior 子节点ID = 父节点ID
1
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
1
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
1
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
1
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条件进行过滤。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)