0%

181.超过经理收入的员工

1. salary >

通过子查询找出员工的老板,然后select出salary高的员工。
这个方法的缺点是对于每个员工,都要执行一次子查询,速度慢。

1
2
3
select Name as Employee
from Employee as e
where e.Salary > (select Salary from Employee where Id = e.ManagerId);

2. 内连接

根据Id和ManagerId相等进行自身的内连接,另外还可以附加上salary高的条件。

1
2
select a.Name as Employee
from Employee a join Employee b on a.ManagerId = b.Id and a.Salary > b.Salary