部门工资最高的员工

发布时间 2023-08-03 12:01:00作者: 梗

 对于这道题,他要求我们查询每个部门的最高薪资,而且还是两个表,先用join将两个表连接起来,on的条件时Employee.departmentId=Department.id,后面再写上where条件,到这里为止,我们查询的是没有经过分组的表,所以就需要进行一个分组,使用group by对departmentId分组,因为这是在where后面添加条件,所以选择用子查询分组,这个子查询的目的是找到每个部门中薪水最高的员工的薪水。它按照 DepartmentId 进行分组,然后计算每个分组中的最大薪水值,然后,主查询的 WHERE 子句使用了子查询的结果。它将结果集中的每一行与子查询的结果进行匹配,只保留满足以下条件的行。换句话说,它只选择合并了每个部门中最高薪水的员工的行,因为这些行的 (Employee.DepartmentId, Salary) 值与子查询的结果匹配。下面的是SQL代码