数据库练习——leetcode(184):部门工资最高的员工(in的骚操作:两个字段竟然也可以用in)

部门工资最高的员工

题目

在这里插入图片描述

解析

第一步:在emploee表中找到最大的工资以及部门ID,这样做的好处是可以避免有多个人工资都最高
第二步:内连接后,查找题上给定的字段,条件是工资与ID在第一步查找的表中

  • 第一步
SELECT
    DepartmentId, MAX(Salary)
FROM
    Employee
GROUP BY DepartmentId;

结果:在这里插入图片描述

  • 第二步
select d.Name as Department,e.Name as Employee, e.Salary 
from Employee as e inner join Department as d 
on e.DepartmentId = d.Id 
where (e.DepartmentId, e.Salary) in 
(select DepartmentId, max(Salary) from Employee group by DepartmentId)
发布了49 篇原创文章 · 获赞 2 · 访问量 1821

猜你喜欢

转载自blog.csdn.net/liuluTL/article/details/105057690