Oracle 层次查询

原创 2007年10月08日 16:32:00

      今天看书<<精通Oracle 10g PL/SQL 编程>>.其中有一章节讲到了层次查询.前段时间刚做了个项目,因为不知道这个语法.用了相当多的代码实现了可以用一条查询语句就可实现的功能. 用这种查询的前提是表具有层次关系.

      现举一个最简单与最常用的例子:员工表.员工表中有员工号,还有员工对应的管理者编号.而管理者也是员工.这个表就是有着层次关系的.通过使用层次查询,可以显示雇员之间的上下级关系.

    现把书上的例子写出来.相信大家一看就能明白.
    假定表名为EMP,员工号  EMPNO, 对应管理者编号  MGR
    显示除"CLERK"外所有其他雇员的上下级关系.

    SELECT LPAD(' ' , 3 * (LEVEL - 1)) || ename ename,  LPAD(' ', 3 * (LEVEL - 1)) || job job FROM emp
    WHERE job<>'CLERK' START WITH mgr IS NULL CONNECT BY mgr = PRIOR empno;

    显示结果:
    ENAME                                                    JOB
    KING                                                        PRESIDENT
          JONES                                                       MANAGER
                  SCOTT                                                        ANALYST
                  FORD                                                          ANALYST
          BLAKE                                                       MANAGER
                 ALLEN                                                        SALESMAN

Oracle层次化查询学习总结

层次化查询  文档目录: 1.1 概要 2 1.2 节点术语 2 1.3 使用CONNECT BY 和 START WITH子句3 1.4 层次查询实例   3 1.5 从下向上查询   4 1.6...
  • sunansheng
  • sunansheng
  • 2015-06-14 17:07:42
  • 2599

ORACLE层次化查询

记得以前在论坛里看到wildwave在回一个朋友的贴时候使用了start with,connect by。当时我一头雾水,从来没见过这两个关键字,网上搜了搜,讲的也不太详细,呵呵。今天看书的时候在目录...
  • wh62592855
  • wh62592855
  • 2009-10-20 15:53:00
  • 8542

Oracle笔记:层次查询(Select)

111
  • javawebxy
  • javawebxy
  • 2013-10-22 11:20:49
  • 648

58.Oracle数据库SQL开发之 高级查询——层次化查询

58.Oracle数据库SQL开发之 高级查询——层次化查询         欢迎转载,转载请标明出处:  先执行如下: store@PDB1> select * from more_employee...
  • notbaron
  • notbaron
  • 2015-11-15 09:27:08
  • 31205

详解 Oracle SQL 中的层次化查询(Hierarchical Query)

from:http://peiyanli.spaces.live.com/blog/cns!597F0F7790A67077!134.entry
  • lddongyu
  • lddongyu
  • 2010-09-18 16:19:00
  • 1640

Oracle层级(树形结构)查询及优化

在Oracle中可以用:start with···connect by···语句对层级(树形)结构的数据表进行层级汇总查询,在实际环境中如果层级数据较大,会存在查询速度很慢的情况,此时要把筛选条件放入...
  • guanjintao
  • guanjintao
  • 2017-10-27 08:52:41
  • 367

Oracle层级查询语句(hierarchical query)connect by 用法详解

Oracle Connect By Prior用法 oracle中的select语句可以用START WITH...CONNECT BY PRIOR子句实现递归查询,connect by 是结构...
  • haiross
  • haiross
  • 2013-12-26 15:46:45
  • 8070

Oracle树结构查询及层级排序

Oracle 9i也提供了一个ORDER BY子句的关键字SIBLINGS,允许对层次数据以有意义的方式进行分类,同时保留层次结构。 如: SELECT RPAD(' ', 2*(LEVE...
  • java_7star
  • java_7star
  • 2013-09-03 16:55:42
  • 3594

oracle的层次查询

 Q7,oracle层次查询:在业务执行过程中,如果涉及到的目标表具有层次结构数据,在传统的查询执行过程中,我们需要使用自连接来完成查询的执行,这样不仅代码书写比较麻烦,而且执行时的资源花销也比较大。...
  • 47522341
  • 47522341
  • 2008-03-17 15:52:00
  • 2051

oracle 查询有层级关系的全路径:sys_connect_by_path

早上客户那边要导出一些记录和记录所在类别的全路径(如表A是主表,表B是类别,A个外键sort_id关联到B,B除了id还有parent_id),稍微折腾了下还是弄出来了,记录一下: ps:kbs_e...
  • linshutao
  • linshutao
  • 2012-07-12 11:51:32
  • 2589
收藏助手
不良信息举报
您举报文章:Oracle 层次查询
举报原因:
原因补充:

(最多只允许输入30个字)