如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
ORACLE数据库习题(有答案)大题1.检索部门编号、部门名称、部门所在地及其每个部门的员工总数。selectd.deptno,d.dname,d.loc,count(*)fromempe,deptdwheree.deptno=d.deptnogroupbyd.deptno,d.dname,d.loc;2.检索员工和所属经理的姓名。selecte.ename雇员,m.ename经理fromempe,empmwheree.mgr=m.empno;3.检索工资等级处于第四级别的员工的姓名。selecte.enamefromempeinnerjoinsalgradeson(e.salbetweens.losalands.hisal)wheres.grade=4;4.检索工资等级高于smith的员工信息。select*fromempejoinsalgradeson(e.salbetweens.losalands.hisal)wheres.grade>(selectdistincts.gradefromempejoinsalgradeson((selectsalfromempwhereename='SMITH')betweens.losalands.hisal));5.检索30部门中1980年1月份之前入职的员工信息。显示:员工号、员工名、部门号,部门名、入职日期。selectempno,ename,d.deptno,d.dname,hiredatefromemp,deptdwhereemp.deptno=d.deptnoandd.deptno=30andhiredate<to_date('1980-01-01','yyyy-mm-dd');6.检索雇员的雇佣日期早于其经理雇佣日期的员工及其经理姓名。selecte.ename雇员,m.ename经理,e.HIREDATE雇员的雇佣日期,m.hiredate经理雇佣日期fromempe,empmwhere7.按部门号(deptno)及工资(sal)排序检索公司的员工信息(要求部门号从大到小,部门号相同的按工资由低到高),显示的字段为:员工号、员工名、工资、部门号。selectempno,ename,sal,deptnofromemporderbydeptnodesc,sal;8.检索不同部门经理的最低工资。selectm.ename,e.empno,e.salfromempe,empmwheree.mgr=m.empnoande.deptnoin(selectdeptnofromempgroupbydeptno)ande.salin(selectmin(sal)fromempgroupbydeptno);9.检索部门号及其本部门的最低工资。selectdeptno,min(sal)fromempgroupbydeptno;10.检索从事clerk工作的员工姓名和所在部门名称。selecte.ename,d.dnamefromempejoindeptdone.deptno=d.deptnowheree.job='CLERK';11.检索和名叫SCOTT的员工相同工资的员工信息,但不显示SCOTT。显示字段:员工号、员工名、工资。selectempno,ename,salfromempwheresal=(selectsalfromempwhereename='SCOTT')andename!='SCOTT'12.检索与SCOTT从事相同工作的员工信息。select*fromempwherejob=(selectjobfromempwhereename='SCOTT');13.检索出员工表emp中的第3条到第8条记录。显示字段:emp表中的全部字段。select*from(selectrownumnum,e.*fromempe)wherenum>=3andnum<=8;14.检索与30部门员工工资等级相同的员工姓名与工资。select*fromempejoinsalgradeson(e.salbetweens.LOSALands.HISAL)wheres.grade=(selectdistincts.gradefromempejoinsalgradeson((selectavg(sal)fromempwheredeptno=30)betweens.LOSALands.HISAL));15.求分段显示薪水的个数。显示结果如下:DEPTNO800-20002001-5000--------------------------305120231012etween800