数据库

 首页 > 数据库 > Oracle > Oracle递归查询示例分析

Oracle递归查询示例分析

分享到:
【字体:
导读:
         摘要:Oracle递归查询示例分析startwithconnectby层次查询(HierarchicalQueries)从顶级向下级查询Selecta.areaid,a.name,a.parentid,a.levelcodeFromprnbsn_areaawww.2cto.comStartWitha.ar... ...

Oracle递归查询示例分析
Oracle递归查询示例分析
 
start with connect by 层次查询(Hierarchical Queries)
 
image
 
从顶级向下级查询
 
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
 
该查询会查出所有的重庆子级区域
 
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)的所有上级
  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是一个二元操作符
 
 
 
作者 易code
Oracle递归查询示例分析
分享到:
oracle实时插值速度突然变慢问题解决办法
oracle实时插值速度突然变慢问题解决办法 oracle实时插值速度突然变慢问题解决办法   工作上写了一个入库程序,负责实时对传来的数据包进行拆包、解析、构造SQL语句插入到Oracle数据库中。 数据量平均每天2W条左右。 最近突然变慢,解析一个包入库居然差不多要1秒时间,在程序上检查了半天,该释放的都释放了,也没什么问...
工作上常用的Oracle重要sql语句
工作上常用的Oracle重要sql语句 工作上常用的Oracle重要sql语句   1、                     查看当前用户的缺省表空间:  SQL>select username,default_tablespace from user_users;   2、                           查看当前用户的角色:  SQL>select * from user_role_privs;   3、     ...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……