电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

oracle习题VIP免费

oracle习题_第1页
1/7
oracle习题_第2页
2/7
oracle习题_第3页
3/7
1.选择部门30中的所有员工:SELECT*FROMempWHEREdeptno=30;2.列出所有办事员(CLERK)的姓名,编号和部门编号:SELECTename,empno,deptnoFROMempWHEREUPPER(job)='CLERK';3.列出佣金(comm)高于薪金(sal)的员工:SELECT*FROMempWHEREcomm>sal;4.找出佣金(comm)高于薪金百分60的员工SELECT*FROMempWHEREcomm>(sal*0.6);5.找出部门10中所有经理(MANAGER)和部门20中所有办事员(CLERK)的详细资料SELECT*FROMempWHERE(deptno=10ANDjob='MANAGER')OR(deptno=20ANDjob='CLERK');6.找出部门10中所有经理,部门20中所有的办事员,既不是经理又不是办事员,但是薪金大于或等于2000的所有员工的资料:SELECT*FROMempWHERE(deptno=10ANDjob='MANAGER')OR(deptno=20ANDjob='CLERK')OR(jobNOTIN('MANAGER','CLERK')ANDsal>=2000);7.找出收取佣金(comm)的员工的不同工作:[DISTINCT->消除重复的关键字]SELECTDISTINCTjobFROMempWHEREcommISNOTNULL;8.找出不收取佣金或者佣金小于100的员工:SELECT*FROMempWHEREcommISNULLORcomm<100;9.找个各月倒数第三天受雇的所有员工:·使用LAST_DAY()函数SELECT*FROMempWHERE(LAST_DAY(hiredate)-2)=hiredate;10.找出早于12年前受雇的员工:·注意使用MONTHS_BETWEEN(今天,雇佣日期)SELECT*FROMempWHEREMONTHS_BETWEEN(SYSDATE,hiredate)/12>12;11.按照首字母大写的方式显示员工姓名SELECTINITCAP(ename)FROMemp;12.显示正好为5个字符的员工的姓名SELECTenameFROMempWHERELENGTH(ename)=5;13.显示不带有"R"的员工姓名:SELECTenameFROMempWHEREenameNOTLIKE'%R%';14.显示所有员工姓名的前3个字符:SELECTSUBSTR(ename,0,3)FROMemp;15.显示所有员工的姓名,并且用“x”替换替换所有的“A”;SELECTREPLACE(ename,'A','x')FROMemp;16.显示满十年服务年限的员工的姓名和受雇日期:SELECTename,hiredateFROMempWHEREMONTHS_BETWEEN(sysdate,hiredate)/12>10;17.显示员工的详细资料,按姓名排序:SELECT*FROMempORDERBYename;18.显示员工的姓名和受雇日期,并根据其服务年限,把资料最老的员工排在第在前面:SELECTename,hiredateFROMempORDERBYhiredate;19.显示所有员工的姓名,工作和薪金,按工作的降序排序,若工作相同则按薪金排序:SELECTename,job,salFROMempORDERBYjobDESC,sal;20.显示所有员工的姓名,加入公司的年份和月份,按受雇日期所在的年排序,若年份相同则讲最早月份的员工排在最前面:·使用TO_CHAR()函数SELECTename,TO_CHAR(hiredate,'yyyy')year,TO_CHAR(hiredate,'MM')monFROMempORDERBYyear,mon;21.显示在一个月为30天的情况所有员工的日薪金,并且忽略余数:ROUND()四舍五入SELECTename,ROUND(sal/30)日薪金FROMemp;22.找出在(任何年份)的2月受聘的所有员工:SELECT*FROMempWHERETO_CHAR(hiredate,'MM')=2;23.对于每个员工,显示其加入公司的天数:SELECTROUND(sysdate-hiredate)FROMemp;24.显示姓名字段的任何位置包含“A”的所有员工姓名:SELECTenameFROMempWHEREenameLIKE'%A%';25.以年月的方式显示所有员工的服务年限:·年:求出总共的月/12->产生小数,并不能四舍五入·月:对12取余SELECTename,TRUNC(MONTHS_BETWEEN(sysdate,hiredate)/12)year,TRUNC(MOD(MONTHS_BETWEEN(sysdate,hiredate),12))monFROMemp;/*-------------复杂查询,子查询,多表关联--------------*/26.列出至少有三个员工的所有部门和部门信息。[!!]SELECTd.*,ed.countFROMdeptd,(SELECTdeptno,COUNT(empno)countFROMempGROUPBYdeptnoHAVINGCOUNT(empno)>3)edWHEREd.deptno=ed.deptno;27.列出薪金比“ALLEN”多的所有员工SELECTsalFROMempWHEREename='ALLEN';//子查询SELECT*FROMempWHEREsal>(SELECTsalFROMempWHEREename='ALLEN');28.列出所有员工的姓名及其上级的姓名:SELECTe.ename员工,m.ename上级FROMempe,empmWHEREe.mgr=m.empno(+);由于KING并没有上级,所以添加一个(+)号表示左连接29.列出受雇日期早于直接上级的所有员工的编号,姓名,部门名称SELECTe.ename,e.empno,d.dnameFROMempe,empm,deptdWHEREe.mgr=m.empnoANDe.deptno=d.deptnoANDe.hire...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部