181. 超过经理收入的员工
Employee 表包含所有员工,他们的经理也属于员工。每个员工都有一个 Id,此外还有一列对应员工的经理的 Id。
给定 Employee 表,编写一个 SQL 查询,该查询可以获取收入超过他们经理的员工的姓名。在上面的表格中,Joe 是唯一一个收入超过他的经理的员工。
使用 JOIN 语句:算法
实际上, JOIN 是一个更常用也更有效的将表连起来的办法,我们使用 ON 来指明条件。
SELECT
a.NAME AS Employee
FROM Employee AS a JOIN Employee AS b
ON a.ManagerId = b.Id
AND a.Salary > b.Salary
注意:理清楚关系就是解题的关键:1和2是员工,3和4是经理,3是1的经理,4是1的经理;