Oracle高级函数篇之递归查询start with connect by prior简单用法

前段时间,自己负责的任务中刚好涉及到了组织关系的业务需求,自己用了oracle递归查询。下面简单来举个例子。在工作中我们经常会遇到有一定组织关系层次的关系。比如某个省下有多少市,每个市下又有多个区。再或者公司组织部门相互的隶属关系。这时我们就可能会用到  start with connect by prior  递归查询

1. 基本语法

        select  ...   from  +

        start with       +    条件1

       connect by  prior    +    条件2

        where             +     条件3

    ## 条件1:是根节点的限定语句

    ## 条件2:连接条件。prior表示上一条信息。比如connect by prior  org_id = parent_id 就是说上一条记录的org_id是本条 记录的parent_id,即本记录的父亲是上一条记录。

    ## 条件3:过滤条件

2. 用法举例:

表名:CITY_TREE,表结构如下:

表数据:


接下来直接上SQL:

(1) 从根节1点向下查

select A.*from CITY_TREE A

STARTWITH A.CITY_ID ='1'

CONNECTBYPRIOR A.CITY_ID = A.CITY_PID;



(2) 从根节1点向上查

 

 ====================================================

希望对大家有一点点帮助

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值