181.超过经理收入的员工
一、题目描述
Employee表包含所有员工,他们的经理也属于员工。每个员工都有一个Id,此外还有一列对应员工的经理的Id。
Id | Name | Salary | ManagerId |
---|---|---|---|
1 | Joe | 70000 | 3 |
2 | Henry | 80000 | 4 |
3 | Sam | 60000 | NULL |
4 | Max | 90000 | NULL |
给定Employee表,编写一个SQL查询,该查询可以获取收入超过他们经理的员工的姓名。在上面的表格中,Joe是唯一一个收入超过他的经理的员工。
Employee |
---|
Joe |
二、思路分析
Employee表自连,通过ON语句筛选出符合条件的员工即可。
三、代码实现
SELECT
E1.Name AS Employee
FROM
Employee E1
INNER JOIN
Employee E2
ON
E1.ManagerId = E2.Id
AND E1.Salary > E2.Salary