oracle里的分组语句

上传人:xiao****1972 文档编号:84085640 上传时间:2019-03-02 格式:DOCX 页数:4 大小:18.15KB
返回 下载 相关 举报
oracle里的分组语句_第1页
第1页 / 共4页
oracle里的分组语句_第2页
第2页 / 共4页
oracle里的分组语句_第3页
第3页 / 共4页
oracle里的分组语句_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《oracle里的分组语句》由会员分享,可在线阅读,更多相关《oracle里的分组语句(4页珍藏版)》请在金锄头文库上搜索。

1、/*使用scott/tiger用户下的emp表和dept表完成下列练习,表的结构说明如下:emp员工表(empno员工号/ename员工姓名/job工作/mgr上级编号/hiredate受雇日期/sal薪金/comm佣金/deptno部门编号)dept部门表(deptno部门编号/dname部门名称/loc地点)工资 薪金 佣金*/-1.列出在每个部门工作的员工数量、平均工资和平均服务期限。select deptno,count(*),trunc(avg(sal+nvl(comm,2)as avgsal,to_char(to_date(0001-01-01,yyyy-mm-dd) + avg(

2、sysdate-hiredate)-366-31,yy年mm月dd) avgday from emp group by deptno;-2.列出所有员工的姓名、部门名称和工资。select ename,dname,(nvl(comm,0)+sal)as 工资 from emp,dept where emp.deptno=dept.deptno;-3.列出从事同一种工作但属于不同部门的员工的一种组合。select e.ename,e.job, e.deptno ,d.job, d.deptno from emp e, emp d where e.job=d.job and e.deptnod.d

3、eptno;-4.列出所有部门的详细信息和部门人数。select d.*,(select count(*) from emp where deptno=d.deptno) as 人数 from dept d;-5. 列出各种工作的最低工资。select job, min(nvl(comm,0)+sal) from emp group by job;-6. 列出各个部门的MANAGER(经理)的最低薪金。select deptno,min(sal) from emp where job=MANAGER group by deptno;-7. 列出所有员工的年工资,按年薪从低到高排序。select

4、 empno,ename,(nvl(comm,0)+sal)*12 as 年薪 from emp order by 年薪;-8. 找出月薪相同的员工select e.empno,e.sal from emp e,emp a where (e.sal=a.sal);-9. 列出至少有一个员工的所有部门。 select * from dept where deptno in(select distinct deptno from emp);-10. 列出薪金比“SMITH”多的所有员工。select * from emp where sal(select sal from emp where en

5、ame=SMITH);-11. 列出所有员工的姓名及其直接上级的姓名。select ename,(select ename from emp where empno=e.mgr) as mgr from emp e;-12. 列出受雇日期早于其直接上级的所有员工。select * from emp e where hiredate 1500;-15. 列出在部门“SALES”(销售部)工作的员工的姓名, 假定不知道销售部的部门编号。select ename from emp where deptno=(select deptno from dept where dname=SALES); -1

6、6. 列出薪金高于公司平均薪金的所有员工。select * from emp where sal(select avg(sal) from emp);-17. 列出与“SCOTT”从事相同工作的所有员工。 select * from emp e where exists (select * from emp where job=e.job and ename=SCOTT); -18. 列出薪金等于部门30中员工的薪金的所有员工的姓名和薪金。 select ename,sal from emp where sal=any(select sal from emp where deptno=30);

7、 -19.列出薪金高于在部门30工作的所有员工的薪金的员工姓名和薪金。select ename,sal from emp where salall(select sal from emp where deptno=30);-20. 列出比“SCOTT”大两个月以上的员工姓名 select t1.ename from emp t1 join emp t2 on t2.ename=SCOTTand months_between(t2.hiredate,t1.hiredate)=2;15、列出薪金水平处于第四位到第七位的雇员select * from (select sal,rownum rn from emp order by sal desc) emp where emp.rn3 and emp.rn8;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号