您的位置:首页 > 数据库 > Oracle

Oracle递归查询示例分析

2013-09-04 11:47 351 查看
Oracle递归查询示例分析

 

start with connect by 层次查询(Hierarchical Queries)

 



 

从顶级向下级查询

 

Select  a.areaid,a.name,a.parentid,a.levelcode

From prnbsn_area a  www.2cto.com  

Start With a.areaid = 3 Connect By Prior a.areaid=a.parentid

 

该查询会查出所有的重庆子级区域

 



 

从下向上查询

 

Select  a.areaid,a.name,a.parentid,a.levelcode

From prnbsn_area a

Start With a.areaid = 78

Connect By Prior a.parentid = a.areaid

 



 

查询三亚(78)的所有上级

  www.2cto.com  

start with: 表示根记录的条件(从那条记录开始)

connect by: 指定了父记录行和子记录行之间的关系,在层次查询中,条件表达式必须使用prior操作符来指定父记录行

如:

CONNECT BY PRIOR pid = id 或者CONNECT BY pid = PRIOR id

如果connect by 条件是一个组合条件,那么只有一个条件需要prior操作符,

如:

CONNECT BY last_name != 'King' AND PRIOR employee_id = manager_id

 

不过,connect by 不能包含子查询。

prior是一个二元操作符
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: