zoukankan      html  css  js  c++  java
  • Oracle高级函数篇之递归查询start with connect by prior简单用法

    路飞:“ 把原来CSDN的博客转移到博客园咯!”
    前段时间,自己负责的任务中刚好涉及到了组织关系的业务需求,自己用了oracle递归查询。下面简单来举个例子。在工作中我们经常会遇到有一定组织关系层次的关系。比如某个省下有多少市,每个市下又有多个区。再或者公司组织部门相互的隶属关系。这时我们就可能会用到 start with connect by prior 递归查询了
    用法举例
    1. 基本sql语法

    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,表结构如下:
    图片
    表数据:

    =======================================================================
    (1)从根节点向下查询:

    select A.*from CITY_TREE A
    STARTWITH A.CITY_ID ='1'
    CONNECTBYPRIOR A.CITY_ID = A.CITY_PID;
    

    结果如下图:

    (2)从根节1点向上查

    select A.* from CITY_TREE A 
    START WITH A.CITY_ID = '1'
    CONNECT BY A.CITY_ID = PRIOR A.CITY_PID;
    

    结果如下图:

    作者:橡胶果实 —— 要成为海贼王的少年

    出处:https://www.cnblogs.com/topfish/

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    Source Insight的一些使用技巧
    ADS中Image$$RO$$Limit的计算
    JQuery 对 Select option 的操作
    设计模式: 细节[装饰模式]
    ObjectContext 实例已释放,不可再用于需要连接的操作
    关于一个多线程面试题的理解
    [Head First]第三章:装饰模式
    [Head First]第一章:策略模式
    MVC4 DropDownListFor的问题
    如何调试MVC4的代码
  • 原文地址:https://www.cnblogs.com/topfish/p/9573542.html
Copyright © 2011-2022 走看看