第11章 SQL练习答案.doc_第1页
第11章 SQL练习答案.doc_第2页
第11章 SQL练习答案.doc_第3页
第11章 SQL练习答案.doc_第4页
第11章 SQL练习答案.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1实训题根据人力资源管理系统数据库中数据信息,完成下列操作。(1) 查询100号部门的所有员工信息。Selsect * from employees where department_id = 100(2) 查询所有职位编号为“SA_MAN”的员工的员工号、员工名和部门号。Select employee_id,first_name,last_name,department_id from employees where job_id= SA_MAN(3) 查询每个员工的员工号、工资、奖金以及工资与奖金的和。Select employee_id,salary,commission_pct,salary*(1+nvl(commission_pct,0) from employees(4) 查询40号部门中职位编号为“AD_ASST”和20号部门中职位编号为“SA_REP”的员工的信息。Select * from employees where department_id=40 and job_id= AD_ASST OR department_id=20 and job_id= SA_REP;(5) 查询所有职位名称不是“Stock Manager”和“Purchasing Manager”,且工资大于或等于2000的员工的详细信息。Select * from employees where job_id not in( Stock Manager, Purchasing Manager) and salary=2000(6) 查询有奖金的员工的不同职位编号和名称。 Select distinct job_id, job_title from jobs where job_id in (select job_id from employees where job_id is not null)(7) 查询没有奖金或奖金低于100元的员工信息。Select * from employees where salary*commission_pct100 or commission is NULL(8) 查询员工名(first_name)中不包含字母“S”的员工。Select first_name from employees where first_name not like %S%(9) 查询员工的姓名和入职日期,并按入职日期从先到后进行排序。Select first_name,last_name,hire_date from employees order by hire_date;(10) 显示所有员工的姓名、职位、工资和奖金,按职位降序排序,若职位相同则按工资升序排序。Select first_name,last_name,job_id,salary ,salary*commission_pet from employees order by job_id desc ,salary asc;(11) 查询所有员工的姓名及其直接上级的姓名。Select a.first_name,b.first_name from employees a join employees b on b.employee_id = a.manage_id (12) 查询入职日期早于其直接上级领导的所有员工信息。 select * from employees a where hire_date(select salary from employees where employee_id = 100);(19) 查询工资高于公司平均工资的所有员工信息。Select * from employees where salary(select avg(salary) from employees)(20) 查询各个部门中不同职位的最高工资。Select job_id,max(salary) from employees group by job_id(21) 查询各个部门的人数及平均工资 Select department_id,count(*),avg(salary ) from employees group by department_id; (22) 统计各个职位的员工人数与平均工资。Select job_id ,count(employee_id),avg(salary) from employees group by job_id;(23) 统计每个部门中各职位的人数与平均工资。Select department_id,job_id,count(*),avg(salary) from employees group by department_id,job_id;(24) 查询最低工资大于5000元的各种工作。Select job_id,job_title from jobs where job_id in(Select job_id from employees group by job_id having min(salary)5000);(25) 查询平均工资低于6000元的部门及其员工信息。 Select e.*,d.* from employees e join departments d on e.department_id=d.department_id and department_id in(select department_Id from employees group by employee_id having avg(salary)(select max(salary) from employees deparment_id=30);(29) 查询每个部门中的员工数量、平均工资和平均工作年限。Select count(*),avg(salary),avg(round(sysdate-hire_date)/365) from employees group by department_id(30) 查询工资为某个部门平均工资的员工的信息。Select * from employees where salsry in(select avg(Salary) from employees group by department_id)(31) 查询工资高于本部门平均工资的员工的信息。Select * from employees e1 where salary(select avg(salary) from employees e2 where e2.department_id=e1.department_id )(32) 查询工资高于本部门平均工资的员工的信息及其部门的平均工资。Select e.*,avgsalFrom employees e join (select department_id,avg(salary) avgsal from employees group by department_id) dOn e.department_id=d.department_id And e.salaryd.avgsal(33) 查询工资高于50号部门某个员工工资的员工的信息。Select *from employees where salaryany(select salary from employees where department_id=50):(34) 查询工资、奖金与10号部门某员工工资、奖金都相同的员工的信息。Select * from employees where (salary,nvl(commission_pct) ) in(Select salary,nvl(commission_pct) from employees where department_id=10)(35) 查询部门人数大于10的部门的员工信息。Select * from employees where department_id in(select department_id from employees group by department_id having count(*)10);查询所有员工工资都大于10000元的部门的信息Select * from department where department_id in (select department_id from employees group by department_id having min(salary)10000)(36) 查询所有员工工资都大于5000元的部门的信息及其员工信息。(37) 查询所有员工工资都在4000元8000元之间的部门的信息。Select * from departments where department_id in(Select department_id from employees group by department_id having min(salary)=4000 and max(salary)=all(select count(*) from employees group by department_id )(39) 查询30号部门中工资排序前3名的员工信息。Select * from employee where department_id=30 and salary is not null and rownum=3 order by salary desc (40) 查询所有员工中工资排序在510名之间的员工信息。Select * from (Select rownum rn,employee_id,salary from (Select employee_id,salary from employees where salary is not null order by salary desc) e1 )e2Where rn between 5 and 10(41) 向employees表中插入一条记录,员工号为1000元,入职日期为2002年5月10日,email为,其他信息与员工号为150的员工相同。(42) 将各部门员工的工资修改为该员工所在部门平均工资加1000。(43) 查询各月倒数第

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论