Oracle层次化查询(递归查询)
2010-07-25 14:47
218 查看
Oracle层次化查询即递归查询适宜应用在由表结构维护层次关系的场合中,通常我们在处理这类问题时一般借助于表的自连接,但是灵活性有限,下面对Oracle层次化查询作一阐述:假定存在一张员工信息表emp,其包含如下字段:empno(员工编号),ename(员工姓名),manger(领导编号),现要求按员工层次顺序显示员工信息。sql代码如下:
select * from emp
start with manger is null
connect by manger=prior empno
order siblings by ename;
emp表
下面对上述语句的执行过程作一阐述:
首先根据start with子句确定根节点,在此处根节点通过manger is null确定,
然后根据connect by子句确定层次关系是通过哪些字段进行关联而产生的,在此处为manager=prior empno,
需要重点指出的是prior关键字的含义 ,它指明了递归的方向,prior所在的一侧为level高的一侧,order siblings by指明对处在同一层级的兄弟节点进行排序.
select * from emp
start with manger is null
connect by manger=prior empno
order siblings by ename;
empno | ename | manager |
A | A | |
J | J | B |
D | D | B |
E | E | B |
B | B | A |
F | F | B |
G | G | C |
H | H | C |
C | C | A |
首先根据start with子句确定根节点,在此处根节点通过manger is null确定,
然后根据connect by子句确定层次关系是通过哪些字段进行关联而产生的,在此处为manager=prior empno,
需要重点指出的是prior关键字的含义 ,它指明了递归的方向,prior所在的一侧为level高的一侧,order siblings by指明对处在同一层级的兄弟节点进行排序.
相关文章推荐
- db2和oracle中的树查询(递归查询)语句-
- db2和oracle中的树查询(递归查询)语句
- Oracle 10g 中的递归查询(树型查询)
- oracle递归查询(查询条件ID下得所有子集)
- oracle递归查询(查询条件ID下得所有子集)
- Oracle 递归查询 树查询 start with SQL CONNECT BY
- ORACLE层次化查询
- oracle递归查询(层级查询)
- 对于oracle进行简单树查询(递归查询)
- ORACLE游标、递归查询、子查询与批量更新示例
- oracle中的层次化查询
- Oracle层次化查询学习总结
- db2和oracle中的树查询(递归查询)语句
- oracle层次化查询,你可能不知道的地方
- oracle 递归查询(树查询) connect by prior
- Oracle层次化查询
- Oracle 10g 中的递归查询(树型查询)
- oracle 层次化查询(生成菜单树等)
- ORACLE游标、递归查询、子查询与批量更新示例
- 对于oracle进行简单树查询(递归查询)