mysql面试常见题目3

三十六大
冯唐

春水初生,
春林初盛,
春风十里,不如你。
秋风落叶,
秋雨绵绵,
愁心上秋,只为你。

某个员工信息表结构和数据如下:
id name dept salary edlevel hiredate
1 张三 开发部 2000 3 2009-10-11
2 李四 开发部 2500 3 2009-10-01
3 王五 设计部 2600 5 2010-10-02
4 王六 设计部 2300 4 2010-10-03
5 马七 设计部 2100 4 2010-10-06
6 赵八 销售部 3000 5 2010-10-05
7 钱九 销售部 3100 7 2010-10-07
8 孙十 销售部 3500 7 2010-10-06
例如,列出每个部门最高薪水的结果
SELECT dept,max(salary) '最高薪水' FROM users GROUP BY dept;
例如,查询每个部门的总的薪水数
SELECT dept,sum(salary) '总薪水' FROM users GROUP BY dept;
例如,查询公司2010年以后入职的各个部门每个级别里的最高薪水
SELECT dept,edlevel,hiredate,max(salary) '最高薪水' FROM users WHERE hiredate >= '2010-01-01' GROUP BY dept,edlevel;
SELECT dept,edlevel,hiredate,max(salary) '最高薪水' FROM users GROUP BY dept,edlevel HAVING hiredate >= '2010-01-01';
例如:寻找雇员数超过2个的部门的最高和最低薪水
SELECT dept,max(salary) '最高薪水',min(salary) '最低薪水',count(1) '部门人数' FROM users GROUP BY dept HAVING count(1) > 2;
例如:寻找雇员平均工资大于3000的部门的最高和最低薪水
SELECT dept,max(salary) '最高薪水',min(salary) '最低薪水',avg(salary) '平均工资' FROM users GROUP BY dept HAVING avg(salary) > 3000;
SELECT dept,max(salary) '最高薪水',min(salary) '最低薪水',round(avg(salary),2) '平均工资' FROM users GROUP BY dept HAVING 平均工资 > 3000;

posted @ 2018-05-20 13:29  韦大仙  阅读(519)  评论(0编辑  收藏  举报