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 定义:           层次查询使用树的遍历,走遍含树形结构的数据集合,来获取树的层次关系报表的方法           树形结构的父子关系,你可以控制:           ① 遍...
  • zhenghun198904132396
  • zhenghun198904132396
  • 2013年01月22日 15:24
  • 989

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
  • 2365

oracle 递归层次查询

工作需要,要查询一个节点的所有子节点信息,在网上找了很久,没有看到直接的例子的,很多理论,所以给个例子,作为我这种小白水平的人看看: 举例子: create table SCAN_MERC_INFO ...
  • CociJava
  • CociJava
  • 2016年08月18日 17:02
  • 2353

oracle中的层级递归查询操作

oracle中的层级操作非常方便,在使用之后爱不释手,以前要实现该种数据查询操作,需要非常复杂的实现过程。在oracle中通过connect by可以实现前面的目的,通常情况下层级查询基本都能实现递归...
  • zouqingfang
  • zouqingfang
  • 2013年10月24日 16:11
  • 2856

ORACLE中的层次结构查询

ORACLE中的层次结构查询 层次结构在现实生活中是很常见的,因此早期的数据库是层次数据库,如实的反映了这种关系。后来层次数据库被证实是非常笨重的,因此关系数据库取得了成功。但是层次结构依然存在...
  • hanxu521111
  • hanxu521111
  • 2015年11月04日 11:16
  • 233

oracle层次查询的陷阱

今天开发组同事找到我,说一个简单的层次查询非常慢,业务就是有一个存设备表连接关系的表,从node1连入,从node2连出,现在要找出node2的连出顺序,sql类似于:  SELECT LEVEL...
  • guogang83
  • guogang83
  • 2013年10月12日 17:55
  • 1044

ORACLE层次查询学习

层次查询的概念 语法格式: select [level], column, expr... from table [where condition] start with condition ...
  • hustxiayu
  • hustxiayu
  • 2016年10月07日 14:06
  • 110

Oracle层次查询

Oracle层次查询的语法如下: 下面根据两道“烧脑”的题具体来体现: 1. 根据时间先后顺序,十二星座的英文名称用逗号串起来为'Aries,Taurus,Gemini,Cancer,Leo,...
  • slowtech
  • slowtech
  • 2016年03月10日 15:15
  • 138

oracle 层次查询

oracle 层次化查询(生成菜单树等) 1、简介:Oracle层次化查询是Oracle特有的功能实现,主要用于返回一个数据集,这个数据集存在树的关系(数据集中存在一个Pid记录着当...
  • qq_38743952
  • qq_38743952
  • 2017年11月03日 10:22
  • 37

oracle 层次查询

先看看Oracle官方文档的介绍   If a table contains hierarchical data, then you can select rows in a hierarchica...
  • hanfeng_1010
  • hanfeng_1010
  • 2013年09月03日 23:30
  • 544
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle 层次查询
举报原因:
原因补充:

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