MySQL-34道题(3)

作者: 彭健平6点30 | 来源:发表于2017-03-27 17:05 被阅读96次

26、列出每个部门的员工数量、平均工资、会让服务期限

第一步:将员工表emp e 和部门表dept d进行连接,将部门表的数据全部显示
select d* ,e*
from emp e right join dept d on d.deptno=e.deptno
第二步:以上查询结果的基础上按照d-deptno分组,按照e.ename计数。
select d.deptno ,count(e.ename)
from emp e right join dept d
on d.deptno=e.deptno
group by d.deptno
第三步:以上基础上计算平均工资( 函数ifnull如果是null的话就计数0)
select d.deptno ,count(e.ename) as tatleEmp,ifnull (avg(e.sal),0) as avgsal
from emp e right join dept d
on d.deptno=e.deptno
group by d.deptno
第四步:再以上的基础上基础计算服务期限
一个函数to_days(now())把日期转换成天
select d.deptno ,count(e.ename) as tatleEmp,ifnull (avg(e.sal),0) as avgsal, ifnull(avg((to_days(now())-to_days(hiredate))/365),0) as avgtime
from emp e right join dept d
on d.deptno=e.deptno
group by d.deptno

27、列出所有员工姓名、部门名称和工资

select e.ename,e.sal d.dname
from emp e
join dept d
on e.deptno=d.deptno

28、列齿所有部门的详细信息和人数

select d.deptno,d.dname,d.loc,count(e.ename)
from emp e
right join dept d
on d.deptno=e.deptno
group by d.deptno,d.dname,d.loc,

29、列出各种工作的最低工资及从事该工作的雇员姓名
select min(sal) as minsal ,job
from emp
group by job;

select t*,e.ename
from emp e
join (select min(sal) as minsal ,job
from emp
group by job)t
on t.job=e.job and t.minsal=e.sal

30、列出ge各个部门的MANAGER的最低薪金
select deptno,min(sla)
from emp
where job ='MANAGER'
group by deptno;

31、列出所有员工的年工资,按年薪从低到高排序

select ename,((sal+ifnull(comm,0))*12) as yearsal
from emp
order by yearsal desc;

32、求出员工领导的薪水超过3000的员工名称与领导米名称
select e.ename as empname, e.sal,b.ename leadern,b.sal
from emp e
join dept d
on a.mgr=b.empno
where b.sal>3000

33、求出部门名称中,带“S“字符的部门员工的工资合计、部门人数

select d.dname,ifnull(sum(e.sal)),0) as sumsal ,count(e.ename)as totalEmp
from emp e
right join
dept d
on e.deptno=d.deptno
where d.dname like '%S%'
group by d.dname;
34、给任职日期超过30年的员工加薪10%
create table emp_bal as select* from emp
update emp_bak set sal=sal*1.1
where (to_days(now())-todays(hiredate))/365>30

相关文章

  • MySQL-34道题(3)

    26、列出每个部门的员工数量、平均工资、会让服务期限 第一步:将员工表emp e 和部门表dept d进行连接,...

  • MySQL-34道作业题(1)

    1、取得每个部门最高薪水的人员的名称: 第一步:取得每个部门最高薪水【按照部门分组求最大值】select dept...

  • MySQL-34道作业题(2)

    9、取得薪水最高的前五名员工 select sal,enamefrom emporder by sal desc ...

  • 【笔试】2019腾讯前端实习

    20道选择题,3道编程题 编程1 编程2 编程3

  • 国考真题人工智能(无答案)

    国考的人工智能题型构成为:3道选择、3道简答和1道证明题;分值:3 *3 + 3 *4 + 9 = 30证明题9分...

  • 难度控制说明

    错误率: 应该是先统计一下孩子整个做了多少道题。例如是10道题。 再统计这10道题,错了几道题。例如是3道题。 那...

  • 2018爱奇艺Java开发实习生面筋

    总共15道选择题,3道编程题。我感觉选择题是比较难的。 这是第二道编程题.我的解法如下(AC):

  • Amazon 面试

    每天3+3+3 3道题,3个公司,3个单词!

  • 国考真题人工智能(有答案)

    国考的人工智能题型构成为:3道选择、3道简答和1道证明题;分值:选择3分每道 + 简答4分每道 + 证明题9分 =...

  • 十道变态推理题

    据说答对3道题的人是变态狂,答对5道题的是杀人狂,答对10道题的就是变态杀人狂。一道题都答不上来的是弱智。 题 目...

网友评论

    本文标题:MySQL-34道题(3)

    本文链接:https://www.haomeiwen.com/subject/kauwnttx.html