1.select * from  EMP t  where t.deptno = 10;

 
EMPNO     ENAME     JOB     MGR     HIREDATE     SAL     COMM     DEPTNO
7782     CLARK     MANAGER     7839     1981/6/9     2450.00          10
7839     KING     PRESIDENT            1981/11/17       5000.00          10
7934     MILLER     CLERK     7782     1982/1/23      1300.00          10
 
2.使用connect_by_root,显示名字和薪水,如果有下属,那么还显示上司的名字和下属薪水的组合
 
SELECT CONNECT_BY_ROOT t.ename as name , t.sal
FROM emp t
CONNECT BY PRIOR t.empno = t.mgr;
 
 NAME         SAL
MILLER     1300.00
CLARK      2450.00
CLARK      1300.00
KING        5000.00
KING        2450.00
KING        1300.00
 
3.下面我就可以利用上面的铺垫查询每个人管理的组(他们团队的平均薪水了)
 
SELECT name ,avg(sal)
FROM
    (SELECT CONNECT_BY_ROOT t.ename as name, t.sal
     FROM emp t
     
     CONNECT BY PRIOR t.empno = t.mgr
    )
GROUP BY name ;
 
NAME     AVG(SAL)
MILLER     1300                                    --他是最底层的码农,没有下属
CLARK      1875                                    --他管了一个人,那个码农,平均薪水(2450 + 1300) / 2
KING        2916.66666666667                --他是部门10的boss,两个下属
 
 
转自: http://blog.chinaunix.net/uid-26896647-id-3424394.html

CONNECT_BY_ROOT的更多相关文章

  1. 使用分析函数实现Oracle 10G提供的CONNECT_BY_ISLEAF和CONNECT_BY_ROOT的功能(转载)

    文章转载至:http://blog.csdn.net/wzy0623/article/details/1644049 如果,有侵犯您权益的地方,烦请及时的告知我,我会即刻停止侵权行为 Oracle 1 ...

  2. ORACLE 的CONNECT BY、START WITH,CONNECT_BY_ROOT、CONNECT_BY_ISLEAF、SYS_CONNECT_BY_PATH,LEVEL的使用(Hierarchical query-层次查询)

    如果表中存在层次数据,则可以使用层次化查询子句查询出表中行记录之间的层次关系基本语法: START WITH <condition1> CONNECT BY [ NOCYCLE ] < ...

  3. Oracle Connect by与递归with

    层次查询 select * from emp; select empno, ename, job, mgr, sal, deptno,level lv, sys_connect_by_path(ena ...

  4. 【转载】Oracle递归查询:使用prior实现树操作【本文出自叶德华博客】

    本文标题:Oracle递归查询:使用prior实现树操作 本文链接:http://yedward.net/?id=41 本文版权归作者所有,欢迎转载,转载请以文字链接的形式注明文章出处. Oracle ...

  5. Oracle 树操作(select…start with…connect by…prior)

    摘自:http://www.cnblogs.com/linjiqin/archive/2013/06/24/3152674.html oracle树查询的最重要的就是select…start with ...

  6. oracle 关键字

    Oracle 关键字(保留字) DBA账户下执行SQL语句:select * from v$reserved_words ;  可得到所有的关键字:   1 ! 1 2 & 1 3 ( 1 4 ...

  7. 如何查看oracle数据库的所有的关键字

    管理员账户登录后,执行以下命令:  select * from v$reserved_words 附上参考: NOMONITORINGRECORDS_PER_BLOCKCASCADEDYNAMIC_S ...

  8. Oracle Contact By的使用

    1.概述 Oracle “CONNECT BY”是层次查询子句,一般用于树状或者层次结果集的查询 2.使用方式 2.1.通过Connect by 生成序列 Oracle 构造一个月份的天数 ) s_d ...

  9. Oracle 数据库特殊查询总结

    1. 查询本节点及本节点以下的所有节点: select * from table1 c start with c.p_id='0000000' connect by prior c.id=c.p_id ...

随机推荐

  1. <i>和<em>、<b>和<strong>标签的区别

    在HTML4.01中:< b > < i > 是视觉要素(presentationl elements),分别表示无意义的加粗,无意义的斜体,仅仅表示样式上是粗体或斜体,而没有 ...

  2. Maven安装本地jar包至本地repository

    1.安装jar包 Maven 安装 JAR 包的命令是:   mvn install:install-file -Dfile=jar包的位置 -DgroupId=上面的groupId -Dartifa ...

  3. Java 设计模式之 简单工厂模式(静态工厂方法模式)

    简单工厂模式(Simple Factory Pattern)属于类的创新型模式,又叫静态工厂方法模式(Static FactoryMethod Pattern),是通过专门定义一个类来负责创建其他类的 ...

  4. iOS打印各种类型数据

    整型占位符说明 : %d : 十进制整数, 正数无符号, 负数有 “-” 符号; %o : 八进制无符号整数, 没有 0 前缀; %x : 十六进制无符号整数, 没有 0x 前缀; %u : 十进制无 ...

  5. loj#500 「LibreOJ β Round」ZQC 的拼图

    分析 二分倍数 然后考虑dp[i][j]表示选到第i个x轴覆盖到j的情况y轴最多覆盖多少 贡献柿子可以画图然后相似三角形得到 代码 #include<bits/stdc++.h> usin ...

  6. 135、TensorFlow SavedModel工具类的使用

    # SavedModelBuilder 类提供了保存多个MetaGraphDef的功能 # MetaGraph是一个数据流图,加上它的关联变量,资产和标签 # 一个MetaGraphDef是一个协议缓 ...

  7. 获取小程序accessToken

    private static String getAccessToken(){ String url = "https://api.weixin.qq.com/cgi-bin/token? ...

  8. http代理工具delphi源码

    http://www.caihongnet.com/content/xingyexinwen/2013/0721/730.html http代理工具delphi源码 以下代码在 DELPHI7+IND ...

  9. Pikachu漏洞练习平台实验——php反序列化、XXE、SSRF(九)

    1.序列化和反序列化 1.1.概述 在理解这个漏洞前,你需要先搞清楚php中serialize(),unserialize()这两个函数. 序列化serialize()序列化说通俗点就是把一个对象变成 ...

  10. 《剑指offer》面试题5 从尾到头打印链表 Java版

    书中方法一:反转应该立刻想到栈,利用一个栈完成链表的反转打印,但是用了额外的O(n)空间. public void printFromTail(ListNode first){ Stack<Li ...