004 oracle经典20题(参考详解).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
004 oracle经典20题(参考详解)

oracle经典20题(参考答案) Oracle 1.列出至少有一个员工的所有部门。 select dept.deptno,dept.dname from dept,emp where dept.deptno=emp.deptno 2.列出薪金比“SMITH”多的所有员工。 select * from emp where sal (select sal from emp where ename=’SMITH’) 3.列出所有员工的姓名及其直接上级的姓名。 select yg.ename,sj.ename from emp yg,emp sj where yg.mgr=sj.empno 4.列出受雇日期早于其直接上级的所有员工。 select yg.ename,sj.ename from emp yg join emp sj on?yg.mgr=sj.empno where yg.hiredatesj.hiredate 5.列出部门名称与这些部门的员工信息,同时列出那些没有员工的部门。 select dept.deptno,dept.dname,emp.empno,emp.ename from dept left join emp on dept.deptno=emp.deptno 6.列出所有“CLERK”(办事员)的姓名及其部门名称。 select * from dept,emp where dept.deptno=emp.deptno and job=’CLERK’ 7.列出最低薪金大于1500的各种工作。 select job from emp group by job having min(sal)1500 8.列出在部门名称为“SALES”(销售部)工作的员工的姓名,假定不知道销售部的部门编号。 方法一: select emp.ename from dept,emp where dept.deptno=emp.deptno and dname=’SALES’ 方法二: select * from emp where deptno=(select deptno from dept where dname=’SALES’) 9.列出薪金高于公司平均薪金的所有员工。 select * from emp where sal (select avg(sal) from emp) 对比:列出薪金高于本部门平均薪金的所有员工。 方法一: select * from emp a where a.sal(select avg(sal) from emp b where b.deptno=a.deptno) 缺点:相关子查询,效率低。 方法二: select empno,ename,sal from emp a,(select avg(sal) avg_sal from emp b where b.deptno=a.deptno) b where a.deptno=b.deptno and a.salb.avg_sal 10.列出与“SCOTT”从事相同工作的所有员工。 select * from emp where job=(select job from emp where ename=’SCOTT’) 11.列出薪金等于部门30中员工的薪金的所有员工的姓名与薪金。 select ename,sal from emp where sal=any(select sal from emp where deptno=30 ) 12.列出薪金高于在部门30工作的所有员工的薪金的员工姓名与薪金。 方法一: select ename,sal from emp where salall(select sal from emp where deptno=30 ) 方法二: select ename,sal from emp where sal(select max(sal) from emp where deptno=30 ) 13.列出在每个部门工作的员工数量、平均工资与平均服务期限。 select deptno,avg(trunc((sysdate-hiredate)/365)) as year from emp group by deptno –参考:截断,取整函数 select trunc(99.9) from dual; 返回 99 14.列出所有员工的姓名、部门名称与工资。 select d.dname,e.ename,e.sal from dept d,emp e where d.deptno=e.deptno 说明:每个字段都加表前缀,效率要高些? 15.列出所有部门的详细信息与部门人数。 select dept.dept

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档