数据库第十三章课后57题
温柔似野鬼°
907次浏览
2020年07月29日 12:15
最佳经验
本文由作者推荐
土的可松性-楚泽
查询各个部门的人数及其平均工资。
select count(*) ,avg(sal) from emp group by deptno
40查询工资为某个部门平均工资的员工信息。
select * from emp where sal = any(select avg(sal) from emp group by deptno)
41查询工资高于本部门平均工资的员工的信息。
select * from emp e where > (select avg(sal) from emp where deptno=)
42查询工资高于本部门平均工资的员工的信息及其部门的平均工资。
select e.* ,(select avg(sal) from emp where deptno=) from emp e
where sal>(select avg(sal) from emp where deptno=)
select ,,,, from emp e,(select deptno ,avg(sal) avgsal from emp group by deptno) s where > and =
43查询工资高于20号部门某个员工工资的员工信息。
select * from emp sal>any(select sal from emp where deptno=20)
44统计各个工种的员工人数与平均工资。
select job,count(*),avg(sal) from emp group by job
45统计每个部门中各工种的人数与平均工资。
select deptno,job,count(*), avg(sal) from emp group by deptno,job
46查询工资、奖金与10号部门某员工工资、奖金都相同的员工信息。
select * from emp where (sal, nvl(comm.,0)) in (select sal,nvl(comm,0) from emp where deptno=10)
47查询部门人数大于5的部门的员工信息。
select * from emp where deptno in (select deptno from emp group by deptno having count(*)>5)
48查询所有员工工资都大于2000的部门的信息。
select * from dept where deptno not in (select deptno from emp where sal<2000)
49查询所有员工工资都大于2000的部门的信息及其员工信息。
select ,dname,loc,ename,empno,sal from emp ,dept
where = and deptno not in (select deptno from emp where sal<2000)
50查询所有员工工资都在2000∽3000之间的部门的信息。
select * from dept where deptno not in
(select deptno from emp where sal not between 2000 and 3000)
51查询所有工资在2000∽3000之间的员工所在部门的员工的信息。
select * from emp where deptno in (select distinct deptno from emp where sal between 2000 and 3000)
查询每个员工的领导所在部门的信息。
select ,dname,loc from dept, emp worker,emp manager
where = and =
52查询人数最多的部门信息。
select * from dept
where deptno in (select deptno from emp group by deptno having count(*)>=all(select max(count(*)) from emp group by deptno))
53查询30号部门中工资排序前3名的员工的信息。
54查询所有员工中工资排序在5∽10之间的员工的信息。
查询SMITH员工及其所有直接、间接下属员工的信息。
查询SCOTT员工及其直接、间接上级员工的信息。
以树状结构查询所有员工与领导之间的层次关系。
55向emp中插入一条记录,员工号为1357,员
工名为Oracle,工资为2050,部门号为20,入职日期为2002年5月10日。
Insert into emp(empno,ename,sal,deptno,hiredate) values(1357,’oracle’,2050,20,TO_DATE(‘2002-5-10’,’YYYY-MM-DD’);
56向emp中插入一条记录,员工号为8000,员工名为FAN,其他信息与SMITH员工的信息相同。
insert into emp(ename,empno,mgr,job,hirdate,sal, comm.,deptno)
select ‘FAN’,8000,mgr,job,hirdate,sal,comm.,deptno from emp where ename=’SMITH’
57将各个部门员工的工资修改为该员工所在部门平均工资加1000
update emp e set sal=1000+(select avg(sal) from emp where deptno=)