ORACLE层次结构查询语句_Oracle数据库_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

ORACLE层次结构查询语句

作者:黑客防线网安Oracle维护基地 来源:黑客防线网安Oracle维护基地 浏览次数:0

本篇关键词:Oracle数据库Oracle教程
黑客防线网安网讯:    ORACLE 提供了一个有趣的功能 connect by 子句,它可以对具有家族树结构的分枝进行排序。它的用途有 机构或公司的各层结构,财务的科目代码等。要使用查询遍历,需要在将数据在基表中按...
    ORACLE 提供了一个有趣的功能 connect by 子句它可以对具有家族树结构的分枝进行排序它的用途有 机构或公司的各层结构财务的科目代码等
要使用查询遍历,需要在将数据在基表中按照层次结构进行存储。比如一个组织机构就是这样的典型例子:
实现语句:
SELECT column
FROM table_name
START WITH column=value
CONNECT BY PRIOR 父主键=子外键
例1:在ORACLE的EMP 表中,每一条记录都有一个唯一标识当前雇员的empno和标识这个雇员的经理的mgr列。如果mgr 为空,则该雇员是该机构的最顶级。现在要列出每个雇员的层次结构(从顶到底):
select lpad(' ',4*(level-1))||ename name ,empno,mgr from emp
start with mgr is null
connect by prior empno=mgr;
NAME                    EMPNO     MGR
--------------------                ---------      ---------
KING                      7839
JONES                 7566      7839
SCOTT             7788      7566
ADAMS        7876     7788
FORD              7902      7566
SMITH         7369      7902
BLAKE                 7698      7839
ALLEN             7499      7698
WARD              7521      7698
MARTIN            7654      7698
TURNER            7844      7698
JAMES             7900     7698
CLARK                 7782      7839
MILLER            7934      7782
14 rows selected.
SQL>
从查询结果中可以看出,由于JONES、BLAKE、CLARK的上司是KING,所以JONES等MGR(经理编号)=KING的empno号,即KING的直接下级是JONES、BLAKE、CLARK,因为他们的MGR与KING的EMPNO一样。
    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-13105-1.html
网站维护教程更新时间:2012-03-23 00:50:32  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer