路飞:“ 把原来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;

结果如下图:

Oracle高级函数篇之递归查询start with connect by prior简单用法的更多相关文章

  1. oracle 高级函数2

    原 oracle 高级函数 2017年08月17日 16:44:19 阅读数:1731 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u013278 ...

  2. oracle 高级函数

    原 oracle 高级函数 2017年08月17日 16:44:19 阅读数:1731 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u013278 ...

  3. Oracle高级函数

    http://www.cnblogs.com/chen1388/archive/2010/07/06/1771919.html decode函数: decode(aa, 1, 'xs', 2, 'ps ...

  4. Oracle递归查询start with connect by prior

    一.基本语法 connect by递归查询基本语法是: select 1 from 表格 start with ... connect by prior id = pId start with:表示以 ...

  5. oracle树形结构层级查询之start with ....connect by prior、level、order by以及sys_connect_by_path之浅谈

    浅谈oracle树状结构层级查询 oracle树状结构查询即层次递归查询,是sql语句经常用到的,在实际开发中组织结构实现及其层次化实现功能也是经常遇到的,虽然我是一个java程序开发者,我一直觉得只 ...

  6. Oracel递归查询start with ...connect by prior在Mysql中的实现

    Oracle是一个强大的数据库,有很多的函数和语法可以带来很多便利,有些函数和语法在Mysql中有代替的,但是有些没有现成可用的方法,比如Oracle的递归,在Mysql中怎么实现呢? 例子: Ora ...

  7. JavaScript系列:高级函数篇

    前言: 本篇主要是介绍 JavaScript使用函数的高级方法,函数是JavaSCript中最有趣的部分,利用Function特性可以编写出很多非常有意思的代码,本篇主要包括:函数回调,高阶函数以及函 ...

  8. 递归查询 start with connect by prior

    1.语法:start with 子节点ID='...' connect by prior 子节点ID = 父节点ID 含义:查询结果我所有的后代节点(包括我) 例子: select id,parent ...

  9. 关于Oracle、SqlServer 的sql递归查询

    递归查询所有子节点 建人员表  hrmresource 主键     姓名   上级ID 层级关系:- 4      - 3           - 2                - 1      ...

随机推荐

  1. Spring与Web整合

    一 概述 1.整合目的 将所有对象的创建与管理任务交给Spring容器,降低程序的耦合度. 2.整合途径 将Spring容器注入到Web容器中. 3.具体实现 使用ServletContextList ...

  2. svn add @2x image 文件

    svn add `svn status . | grep "^?" | awk '{print $2"@"}'`

  3. Java线程唤醒与阻塞

    阻塞指的是暂停一个线程的执行以等待某个条件发生(如某资源就绪),学过操作系统的同学对它一 定已经很熟悉了.Java 提供了大量方法来支持阻塞,下面让我们逐一分析. 转载于:http://blog.cs ...

  4. C++学习笔记(6)----基类和派生类的构造函数和析构函数的执行顺序

    基类和派生类:构造函数和析构函数的执行顺序 在Visual Studio中,新建控制台工程,构造类如下: #include<iostream> using namespace std; c ...

  5. arcgis10.2 serverstyle 制作工具位置 小计

    跟9.3时候的套路还是一样的,只是工具已经放到了arcgis desktop的安装目录的bin文件夹下面. engine和developerkit都不附带该工具. 但是engine会附带一组默认的转换 ...

  6. 安卓app开发-03-项目的基本开发步骤

    android项目的基本开发步骤 这里分享一下开发 安卓 app 的流程,当然有些感觉不必要,其实不然,前期工作也是极为重要的额,就像开发的时候如果目标不对的话,到后期后很迷的,所以一定要提前做好规划 ...

  7. 六、angular 生成二维码

    首先需要安装angular-qrcode : bower install monospaced/angular-qrcode npm install angular-qrcode 如何使用? 在相应的 ...

  8. ORM注意点

    add:是追加 set:是覆盖

  9. 反射报错java.lang.IllegalArgumentException: wrong number of arguments

    class Person{ private String name ; private String sex ; public Person(){ System.out.println("c ...

  10. 初识WCF2

    参照: http://blog.csdn.net/songyefei/article/details/7371571 在上一篇中,我们在一个控制台应用程序中编写了一个简单的WCF服务并承载了它.先回顾 ...