#1.查询部门平均工资在2500元以上的部门名称及平均工资。
select dname,avg(sal) salavg
from emp e
join dept d
on e.deptno=d.deptno
group by e.deptno
having salavg >2500
#2.查询员工岗位中不是以“SA”开头并且平均工资在2500元以上的(岗位及平均工资),
#并按平均工资降序排序。
select job,avg(sal) salavg
from emp
group by job
having job not like 'sa%' and salavg >2500
#3.查询部门人数在2人以上的(部门名称、最低工资、最高工资,)
#并对求得的工资进行四舍五入到整数位。
select dname,round(min(sal)),round(max(sal))
from emp e
join dept d
on e.deptno=d.deptno
group by e.deptno
having count(empno) > 2
#4.查询岗位不为SALESMAN,工资和大于等于2500的(岗位及每种岗位的工资和)。
select job,sum(sal) sumsal
from emp
group by job
having job not in('SALESMAN') and sumsal > 2500
#5.显示经理号码和经理姓名,这个经理所管理员工的最低工资,
#没有经理的KING也要显示,不包括最低工资小于3000的,按最低工资由高到低排序。
select m.empno,m.ename,min(e.sal) 最低工资
from emp e
left join emp m
on e.mgr=m.empno
where e.sal >3000
group by e.mgr
order by 最低工资 desc
#6.查询工资高于编号为7782的员工工资,并且和7369号员工从事相同工作的员工的
#(编号、姓名及工资)。
select empno,ename,sal
from emp
where sal>(select sal from emp where empno = 7782 ) and job in (select job from emp where empno=7369)
#7.查询工资最高的员工姓名和工资。
select ename,sal
from emp
where sal=(select max(sal) from emp)
#8.查询部门最低工资高于10号部门最低工资的(部门编号、名称及部门最低工资)。
select e.deptno,dname
from emp e
join dept d
on e.deptno=d.deptno
group by e.deptno
having min(sal)>(select min(sal) from emp where e.deptno = 10)
#9.查询员工工资为其部门最低工资的员工的编号和姓名及工资。
select empno,ename,sal
from emp
where sal in (select min(sal) from emp group by deptno)
#10.显示经理是KING的员工姓名,工资。
select ename,sal
from emp
where mgr in (select empno from emp where ename='king')
#11.显示比员工SMITH参加工作时间晚的(员工姓名,工资,参加工作时间。)
select ename,sal,hiredate
from emp
where hiredate>(select hiredate from emp where ename='smith')
#12.使用子查询的方式查询哪些职员在NEW YORK工作。
select *
from emp
where deptno in(select deptno from dept where loc='new york')
#13.写一个查询显示和员工SMITH工作在同一个部门的
#员工姓名,雇用日期,查询结果中排除SMITH。
select ename,hiredate
from emp e
join dept d
on e.deptno=d.deptno
where dname in (select dname from emp e join dept d on e.deptno = d.deptno where ename='smith')
and ename not in('smith')
#14.写一个查询显示其工资比全体职员平均工资高的(员工编号、姓名。)
select empno,ename
from emp
where sal>(select avg(sal) from emp)
#15. 显示部门名称和人数
select dname,count(e.empno)
from emp e
join dept d
on e.deptno=d.deptno
group by e.deptno,dname
#16. 显示每个部门的最高工资的员工
select *
from emp e
join dept d
on e.deptno =d.deptno
where sal in(select max(sal)
from emp e
join dept d
on e.deptno =d.deptno
group by e.deptno)
#17. 显示出和员工号7369部门相同的员工姓名,工资
select ename,sal
from emp e
join dept d
on e.deptno = d.deptno
where dname in(select dname from emp e join dept d on e.deptno = d.deptno where empno=7369)
#18. 显示出和姓名中包含“W”的员工相同部门的员工姓名
select ename
from emp e
join dept d
on e.deptno = d.deptno
where dname in(select dname from emp e join dept d on e.deptno = d.deptno where ename like '%w%')
练习18道题
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 成长记录-连载(三十六) ——我的第一篇五千字长文,说了什么,你一定想不到 并不是不想每天写公众号,而是之前思考怎...
- 一般来说,喜欢站立的人,比喜欢躺着或或坐着的人,身材更好。与躺着的姿势相比,站姿所消耗的能量要多出10%。而单腿站...
- 这8种学生永远拿不到高分!早看早受益! 下面是一位资深班主任总结了8种成绩提不上去的原因,分别对应8类孩子,如果你...
- 这8种学生永远拿不到高分!早看早受益! 下面是一位资深班主任总结了8种成绩提不上去的原因,分别对应8类孩子,如果你...