资源描述:
《《oracle习题》word版》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、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*FRO
2、MempWHERE(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->消除重复的关键字]SELECTDI
3、STINCTjobFROMempWHEREcommISNOTNULL;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.按照首字
4、母大写的方式显示员工姓名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.显示满十年服务年限的员工的姓名和受雇日
5、期:SELECTename,hiredateFROMempWHEREMONTHS_BETWEEN(sysdate,hiredate)/12>10;17.显示员工的详细资料,按姓名排序:SELECT*FROMempORDERBYename;18.显示员工的姓名和受雇日期,并根据其服务年限,把资料最老的员工排在第在前面:SELECTename,hiredateFROMempORDERBYhiredate;19.显示所有员工的姓名,工作和薪金,按工作的降序排序,若工作相同则按薪金排序:SELECTename,job,salFROMempORDERBYjobDESC,sal;20.显示
6、所有员工的姓名,加入公司的年份和月份,按受雇日期所在的年排序,若年份相同则讲最早月份的员工排在最前面:·使用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,
7、'MM')=2;23.对于每个员工,显示其加入公司的天数:SELECTROUND(sysdate-hiredate)FROMemp;24.显示姓名字段的任何位置包含“A”的所有员工姓名:SELECTenameFROMempWHEREenameLIKE'%A%';25.以年月的方式显示所有员工的服务年限:·年:求出总共的月/12->产生小数,并不能四舍五入·月:对12取余SELECTename,TRUNC(MONTHS_BETWEEN(sysdate,hiredate)/12)year,TRU