题目一: 计算部门工资最高的员工【多字段+IN】
Employee 表:每个员工对应的 Id,name salary 和 department Id。
Department 表:每个部门对应的ID和name。
编写一个 SQL 查询,找出每个部门工资最高的员工。
思路:
- 一般分字段排序会使用窗口函数,但对于需要对两个以上字段进行匹配的题目,更适合用多字段+IN函数的方法,当然此题可用窗口函数
- 首先在自查询中用聚合函数group by选出每个部门最高的工资,再用where语句进行对部门和工资两个字段进行筛选
select b.name as department
, a.name as employee
, salary
from employee as a