资源描述:
《根据Oracle数据库scott模式下的emp表和dept表》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、...题目要求:根据Oracle数据库scott模式下的emp表和dept表,完成下列操作。(1)查询20号部门的所有员工信息。select*fromempwheredeptno=20;(2)查询所有工种为CLERK的员工的工号、员工名和部门名。selectempno,ename,deptnofromempwherejoblike'CLERK';(3)查询奖金(COMM)高于工资(SAL)的员工信息。select*fromempwherecomm>sal;(4)查询奖金高于工资的20%的员工信息。select*frome
2、mpwherecomm>(sal*0.2);(5)查询10号部门中工种为MANAGER和20号部门中工种为CLERK的员工的信息。select*fromempwhere(deptno=10andjoblike'MANAGER')or(deptno=20andjoblike'CLERK');(6)查询所有工种不是MANAGER和CLERK,且工资大于或等于2000的员工的详细信息。select*fromempwherejobnotin('MANAGER','CLERK')andsal>=2000;(7)查询有奖金的员工的不
3、同工种。selectdistinctjobfromempwherecommisnotnull;(8)查询所有员工工资和奖金的和。selectename,(sal+nvl(comm,0))salcommfromemp;(9)查询没有奖金或奖金低于100的员工信息。select*fromempwhere(commisnullorcomm<100);(10)查询各月倒数第2天入职的员工信息。select*fromempwherehiredatein(select(last_day(hiredate)-1)fromemp);(1
4、1)查询员工工龄大于或等于10年的员工信息。select*fromempwhere(sysdate-hiredate)/365>=10;(12)查询员工信息,要求以首字母大写的方式显示所有员工的姓名。selectupper(substr(ename,1,1))
5、
6、lower(substr(ename,2,length(ename)-1))fromemp;(13)查询员工名正好为6个字符的员工的信息。select*fromempwherelength(ename)=6;(14)查询员工名字中不包含字母“S”员工。selec
7、t*fromempwhereenamenotin(selectenamefromempwhereenamelike'%S%');select*fromempwhereenamenotlike‘%S%’;(15)查询员工姓名的第2个字母为“M”的员工信息。select*fromempwhereenamelike'_M%';(16)查询所有员工姓名的前3个字符。selectsubstr(ename,1,3)fromemp;(17)查询所有员工的姓名,如果包含字母“s”,则用“S”替换。selectreplace(ename,
8、's','S')fromemp;(18)查询员工的姓名和入职日期,并按入职日期从先到后进行排列。selectename,hiredatefromemporderbyhiredateasc;(19)显示所有的姓名、工种、工资和奖金,按工种降序排列,若工种相同则按工资升序排列。selectename,job,sal,commfromemporderbyjobdesc,salasc;......(20)显示所有员工的姓名、入职的年份和月份,若入职日期所在的月份排序,若月份相同则按入职的年份排序。selectename,to_c
9、har(hiredate,'yyyy')
10、
11、'-'
12、
13、to_char(hiredate,'mm')fromemporderbyto_char(hiredate,'mm'),to_char(hiredate,'yyyy');(21)查询在2月份入职的所有员工信息。select*fromempwhereto_char(hiredate,'mm')=2;(22)查询所有员工入职以来的工作期限,用“**年**月**日”的形式表示。selectename,floor((sysdate-hiredate)/365)
14、
15、'年'
16、
17、fl
18、oor(mod((sysdate-hiredate),365)/30)
19、
20、'月'
21、
22、cell(mod(mod((sysdate-hiredate),365),30))
23、
24、'天'fromemp;(23)查询至少有一个员工的部门信息。select*fromdeptwheredeptnoin(selectdistinctd