资源描述:
《oracle基础练习题及答案(多表查询1)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、利用scott用户自带的四张表完成如下作业:1.列出至少有一个员工的所有部门selectb.deptno,b.dnamefromempa,deptbwherea.deptno=b.deptnogroupbyb.deptno,b.dnamehavingcount(*)>=1;2.列出薪金比SMITH高的所有员工select*fromempwheresal>(selectsalfromempwhereename='SMITH');3.列出所有员工的姓名及其直接上级领导的姓名selecta.ename,b.ename"leader"fromempa,empbwherea
2、.mgr=b.empno;4.列出受雇日期早于其直接上级的所有员工的编号,姓名,部门名称selecta.empno,a.ename,a.hiredate,c.dnamefromempa,empb,deptcwherea.mgr=b.empnoanda.deptno=c.deptnoanda.hiredate3、数selectaa.ename,aa.job,bb.dname,(selectcount(a.deptno)fromempa,deptbwherea.deptno=b.deptnoandb.dname=bb.dnamegroupbya.deptno)fromempaa,deptbbwhereaa.deptno(+)=bb.deptnoandaa.job='CLERK';7.列出最低薪金大于1500的各种工作及从事此工作的全部雇员人数selecta.job,min(sal),count(ename)fromempa,deptbwherea.deptno=b.dept
4、nohavingmin(sal)>1500groupbya.job;8.列出在部门SALES(销售部)工作的员工的姓名,假定不知道销售部的部门编号。selectenamefromempa,deptbwherea.deptno=b.deptnoanddname='SALES';9.列出薪金高于公司平均薪金的所有员工,所在部门,上级领导,公司的等级工资selecta.ename,dname,aa.ename"Leader",gradefromempa,deptb,empaa,salgradeswherea.deptno=b.deptnoanda.mgr=aa.empn
5、oanda.sal>(selectavg(sal)fromemp)anda.salbetweenlosalandhisal;10.列出与SCOTT从事相同工作的所有员工的编号,姓名,职位及其部门名称selectempno,ename,job,dnamefromempa,deptbwherea.deptno=b.deptnoandjob=(selectjobfromempwhereename='SCOTT');1.列出薪金等于部门30中员工的薪金的所有员工的姓名和薪金。selectename,salfromempwheresal=any(selectsalfrome
6、mpwheredeptno=30);2.列出薪金高于在部门30工作的所有员工的薪金的员工姓名、薪金和部门名称selectename,sal,dnamefromempa,deptbwherea.deptno=b.deptnoandsal>all(selectsalfromempwheredeptno=30);3.列出在每个部门工作的员工数量、平均工资和平均服务期限selectdname,count(ename),avg(sal),avg(sysdate-a.hiredate)fromempa,deptbwherea.deptno(+)=b.deptnogroupby
7、a.deptno,dname;4.列出所有员工的姓名、部门名称和工资selectename,dname,salfromempa,deptbwherea.deptno=b.deptno;5.列出所有部门的详细信息和部门人数selectb.deptno,dname,loc,count(ename)fromempa,deptbwherea.deptno(+)=b.deptnogroupbyb.deptno,dname,loc;6.列出各种工作的最低工资及从事此工作的雇员姓名selectb.ename,c"MINSAL",a.jobfrom(selectjob,min(s
8、al)cf