当前位置:  数据库>oracle

Oracle递归START WITH...CONNECT BY PRIOR子句用法

    来源: 互联网  发布时间:2017-05-16

    本文导语: connect by 是结构化查询中用到的,其基本语法是: select ... from tablename start with cond1 connect by cond2 where cond3; 例: select * from classstart with parentid = 27362Connect by prior id = parentid 简单说来是将一个树状结构存储在一张表里,比如一个表...

connect by 是结构化查询中用到的,其基本语法是:
select ... from tablename start with cond1
connect by cond2
where cond3;

例:

select * from class
start with parentid = 27362
Connect by prior id = parentid

简单说来是将一个树状结构存储在一张表里,比如一个表中存在两个字段:
id,parentid那么通过表示每一条记录的parent是谁,就可以形成一个树状结构。
用上述语法的查询可以取得这棵树的所有记录。
其中COND1是根结点的限定语句,当然可以放宽限定条件,以取得多个根结点,实际就是多棵树。
COND2是连接条件,其中用PRIOR表示上一条记录,比如 CONNECT BY PRIOR ID=PRAENTID就是说上一条记录的ID是本条记录的PRAENTID,即本记录的父亲是上一条记录。
COND3是过滤条件,用于对返回的所有记录进行过滤。

注意: 第一句会比第二句多一条,因为第二句是从parentid等于此值的节点往下找,不包括id等于此值的节点
select * from Class
start with Id = '000500010003'
Connect by prior id = parentid
--n+1 rows

select * from Class
start with parentid = '000500010003'
Connect by prior id = parentid
--n rows

工作实例:

select distinct * from usergroup b,groupinfo t
where b.groupid=t.member and t.type = 2
start with t.groupid='oa_customerSrv'
connect by prior t.member=t.groupid


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • oracle中lpad函数的用法详解
  • Oracle中decode函数的用法
  • Oracle 系统变量函数用法指南
  • oracle while的用法示例分享
  • c#中oracle to_date函数用法举例
  • oracle 下WITH CHECK OPTION用法
  • Oracle 函数用法之decode
  • Oracle sequence序列的用法
  • [Oracle] 常用工具集之SQL*Loader的用法
  • oracle case when 语句的用法详解
  • Oracle行级锁的特殊用法简析
  • Oracle merge into用法及例子
  • oracle comment命令用法示例分享
  • Oracle to_date()函数的用法介绍
  • oracle正则表达式regexp_like的用法详解
  • Oracle to_date() 用法细节
  • 深入探讨:oracle中row_number() over()分析函数用法
  • Oracle回滚段的概念,用法和规划及问题的解决
  • Oracle MERGE INTO的用法示例介绍
  • oracle 安装与SQLPLUS简单用法
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,