CONNECT_BY_ROOT
2024-08-29 19:31:19
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
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
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,两个下属
MILLER 1300 --他是最底层的码农,没有下属
CLARK 1875 --他管了一个人,那个码农,平均薪水(2450 + 1300) / 2
KING 2916.66666666667 --他是部门10的boss,两个下属
转自: http://blog.chinaunix.net/uid-26896647-id-3424394.html
最新文章
- iOS-钥匙串中证书全部失效(证书的签发者无效)的解决办法
- python基础知识(二)
- 并查集 POJ 1988
- 黄聪:jquery.confirm弹出确认消息
- java小提示:标示符常见命名规则、常用ASCII
- Python脚本控制的WebDriver 常用操作 <;二十二>; 处理alert / confirm / prompt
- [五]JFreeChart实践四之直线图
- 在Eclipse的DDMS中查看手机data文件夹中的内容
- js 去除字符串左右两端的空格
- Solr4.2迁移到新项目下异常:java.lang.NoSuchMethodError: org.apache.http.conn.scheme.Scheme.<;init>;
- android HorizontalListView
- 概率图形模型(PGM)学习笔记(四)-贝叶斯网络-伯努利贝叶斯-贝叶斯多项式
- CentOS 7 安装配置 NFS
- DoxygenToolKit.vim 插件配置
- php7 的yum源
- Java Web 浏览器关闭后Session就会被销毁吗?
- Day 3-5 装饰器
- UITableViewCell 获取当前位置
- Jmeter 老司机带你一小时学会Jmeter
- Gogland配置- 去掉Go源代码中的参数提示