以下表、sql语句都是我自己编译通过的,结果肯定正确,但是效率不一定是最优的,希望看到的小伙伴能评论说下更优化的语句,相互学习,相互进步,3Q~
1、假设employee表结构如下,查询每个部门中月工资最高的“职工号”
回答:需要注意的一点,存在一个部门的最高工资有多个职工的情况,单纯的一个max不能解决问题,所以我用到了子查询
select b.bumenid,b.id,b.salary
from (select bumenid,max(salary) as salary from employee group by bumenid) a join
(select bumenid,id,salary from employee) b on
a.bumenid=b.bumenid and a.salary=b.salary
结果:
2、新增一个employee_manager表,修改上题中的employee表,结构如下,将“销售部”的那些工资数额低于600的职工的工资上调10%