`
z_xiaofei168
  • 浏览: 200991 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle中的分级查询

阅读更多

oracle中的分级查询

    

     下面以emp表和dept表为例。

 

SQL> select * from emp;   
    
EMPNO ENAME      JOB         MGR HIREDATE          SAL      COMM DEPTNO   
----- ---------- --------- ----- ----------- --------- --------- ------   
 7369 SMITH      CLERK      7902 1980-12-17     800.00               20   
 7499 ALLEN      SALESMAN   7698 1981-2-20     1600.00    300.00     30   
 7521 WARD       SALESMAN   7698 1981-2-22     1250.00    500.00     30   
 7566 JONES      MANAGER    7839 1981-4-2      2975.00               20   
 7654 MARTIN     SALESMAN   7698 1981-9-28     1250.00   1400.00     30   
 7698 BLAKE      MANAGER    7839 1981-5-1      2850.00               30   
 7782 CLARK      MANAGER    7839 1981-6-9      2450.00               10   
 7788 SCOTT      ANALYST    7566 1982-12-9     3000.00               20   
 7839 KING       PRESIDENT       1981-11-17    5000.00               10   
 7844 TURNER     SALESMAN   7698 1981-9-8      1500.00      0.00     30   
 7876 ADAMS      CLERK      7788 1983-1-12     1100.00               20   
 7900 JAMES      CLERK      7698 1981-12-3      950.00               30   
 7902 FORD       ANALYST    7566 1981-12-3     3000.00               20   
 7934 MILLER     CLERK      7782 1982-1-23     1300.00               10   
    
14 rows selected   
    
SQL> select * from dept;   
    
DEPTNO DNAME          LOC   
------ -------------- -------------   
    10 ACCOUNTING     NEW YORK   
    20 RESEARCH       DALLAS   
    30 SALES          CHICAGO   
    40 OPERATIONS     BOSTON  

 

Oracle提供其他数据库没有的分级查询操作:

 

例如:希望通过某个员工回溯它的所有上级,包括上级的上级

 

select level,lpad(' ',level-1) ||empno empno,ename,mgr,deptno from emp start with empno=7369 connect by empno = prior mgr;

 

备注:

       level是oracle关键字表示分级级别,其中lpad(' ',level-1)函数是根据level是值生成level-1个空格。

 

  运行结果如下图所示:

 

 

 

又如:希望通过一次查询以树状结构显示emp表中所有的上下级关系

 

select level,lpad(' ',level-1) ||empno empno,ename,mgr,deptno from emp start with empno connect by prior empno = mgr;

 

运行结果去我看我的相册      o01.png,    由于空间的容量有限

5
5
分享到:
评论

相关推荐

    oracle分级菜单查询

    把多级菜单用一份语句查询出来 如 1---- 1.1-- 1.2-- 2---- 2.1-- 2.2--

    00571 Oracle公司内部数据库培训资料-Les19_分级查询(PPT 16页).ppt

    Oracle数据库的分级查询是数据库管理中的一个重要概念,主要用于处理具有层级关系的数据,如组织结构、产品目录等。在Oracle中,这种查询通过SQL的特殊语法实现,能够有效地生成树形结构的报表,帮助用户理解数据间...

    层次查询功能在Oracle数据库中的应用.pdf

    伪列是Oracle数据库中一个特殊的数据对象,它并非数据表中真正的字段,但其在语法处理上类似于普通列,并且在查询结果集中可以返回值。伪列对于程序员来说是一种有用的工具,可以增加编程时的灵活性。伪列的例子包括...

    oracle dba 面试题总结

    索引是 Oracle 数据库中的一种重要结构,它可以提高查询性能。索引的类型包括 B-Tree 索引、Bitmap 索引、函数索引、分区索引等。索引可以提高 select、update、delete 的性能,但是会降低 insert 的速度。索引的...

    Oracle实用教程笔记

    Oracle数据库是一种关系型数据库管理系统(RDBMS),由Oracle公司开发,目前在全球范围内得到了广泛的应用。在数据库领域,Oracle...通过这种分级学习方法,学习者可以根据自己的需求和能力掌握不同程度的Oracle知识。

    oracle temp表空间不足解决方法

    Oracle数据库系统中,Temp表空间是用于存储临时段的地方,主要在执行排序、连接和创建索引等操作时使用。当遇到"Oracle temp表空间不足"的问题时,这通常意味着数据库运行过程中产生的临时数据超过了现有Temp表空间...

    利用Oracle触发器实现临床用药目录分级提示.pdf

    【Oracle触发器实现临床用药目录分级提示】 在临床医疗领域,合理用药是保障患者安全、提高医疗服务质量和控制医疗费用的重要环节。随着医疗保险制度的普及,如何避免医保范围外的不合理用药,成为医疗机构面临的...

    Oracle 12C SQL Tuning for Developers

    7. **In-Memory Option**:Oracle 12C的In-Memory选项加速了联机事务处理(OLTP)和分析查询,通过在内存中存储数据列集来提升性能。 8. **SQL Profile与SQL Plan Baseline**:SQL Profile是优化器为特定SQL语句...

    oracle数据库ppt中科院培训专用Lescn7PPT优秀资料.ppt

    本教程重点介绍了如何理解和应用Oracle数据库的分级查询,以帮助用户掌握在实际工作中创建树型结构报告和处理层次数据的方法。 首先,分级查询的概念是Oracle数据库中用于处理具有层级关系数据的关键工具。这种查询...

    Oracle公司内部数据库培训中文PPT资料

    Les01 基本SQL SELECT语句.ppt Les02 过滤和排序数据.ppt Les03 单行函数.ppt Les04 多表查询.ppt Les05 分组函数.ppt Les06 子查询.ppt ... Les19 分级查询.ppt Les20 DML 和 DDL 语句的扩展.ppt

    oracle,Oracle10g,Oracle10g

    1. 分级资源组(cascading):资源按照预设的优先级顺序在集群中的节点间转移,当主节点失效时,资源会转到优先级最高的活动节点。 2. 循环资源组(rotating):在节点故障时,资源组会转移到具有最高优先级的下一...

    oracle全文检索.pdf

    这一特性最早在 Oracle8 之前的版本中被称为 Oracle Context Cartridge,随后在 Oracle8/8i 中被称为 Oracle InterMedia Text,而在 Oracle9i 及之后的版本中则统称为 Oracle Text。 #### 二、Oracle Text 的功能...

    Oracle经典面试总结-去重-附答案.pdf

    CBO 根据成本估算选择执行计划,而 RBO 遵循简单的分级方法,使用 15 种级别要点,当接收到查询时,优化器将评估使用到的要点数目,然后选择最佳级别(最少的数量)的执行路径来运行查询。 _绑定变量_ 绑定变量是...

    oracle学习笔记(txt格式,自己总结的,很详细,每章附有例题和习题及答案)

    oracle学习笔记,txt格式,完全是自己总结的,特别详细,有例子,还有练习题以及答案。包括1.基本SQL语句 2.限制和排列数据 3.单行函数 4.多表查询 5....分级取回数据 18.oracle9i对DML和DDL语句的扩展。

    oracle备份与经典语句

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其在企业级应用中占据着重要的地位。在Oracle数据库管理中,备份是保障数据安全的关键环节。本文将深入探讨Oracle备份的重要性和常用的备份策略,以及一些...

    数据库开发 Oracle数据库 SQL开发教程 第10章 层次查询(共17页).pdf

    层次查询,也称为分级查询,是Oracle SQL中的一个特色功能,它允许开发者沿着数据的层级关系进行遍历,从而展示出数据的树状结构。在Oracle数据库中,这种查询主要应用于具有上下级关系的数据,如组织结构、员工管理...

    Oracle基础教学、实战视频及学习手册等精品资料汇总

    Oracle数据库被广泛应用于各种企业级应用中,其强大的数据处理能力、高度的安全性和稳定性使其成为了企业级数据库市场的领先者。 学习Oracle数据库的基础知识,主要涉及到创建和维护数据库对象、存储、获取和操作...

    PLSQL连接Oracle数据库

    PL/SQL Developer 是一个为Oracle数据库开发存储程序单元的集成开发环境(IDE) ,使用 PL/SQL Developer,你能方便地创建你的客户端/ 服务器应用程序的服务器部分。PL/SQL Developer压缩包内包含安装程序和注册机;...

    SVN分级授权工具部署手册--Windows用户认证--Visual-SVN-权限

    - 部署数据库时,本手册选用SQL Server桌面数据库进行自动部署,同时提供了支持Oracle、Sybase、MySQL、PostgreSQL等其他数据库的方案。 - 安装过程中会自动部署COM+组件,并创建MagicLtdUser Windows用户账户。 - ...

Global site tag (gtag.js) - Google Analytics