转载

Oracle递归查询示例分析

Oracle递归查询示例分析
 
start with connect by 层次查询(Hierarchical Queries)
 
image
 
从顶级向下级查询
 
Select  a.areaid,a.name,a.parentid,a.levelcode
From prnbsn_area a 
Start With a.areaid = 3 Connect By Prior a.areaid=a.parentid
 
该查询会查出所有的重庆子级区域
 
image
 
从下向上查询
 
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
 
image
 
查询三亚(78)的所有上级
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是一个二元操作符
 
文章最后发布于: 2014-07-30 10:22:32
展开阅读全文
0 个人打赏
私信求帮助

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 1024 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览