Employee表包含所有员工,包括他们的经理。每个员工都有一个ID,并且对应他们的管理者ManagerID列。
Henry的管理者就是4号Max
在给定Employee表的情况下,编写一个SQL查询,找出收入高于其经理的雇员。对于上表,乔是唯一一个收入高于其经理的雇员。
用连接的方法:
select e.Name from employee e ---定义两个表e(雇员), o(雇主)
join employee o on e.ManagerId=o.Id ---内连接:取managerID=Id的交集
where e.Salary>o.Salary ---因为managerId是在e表取的,所以雇员薪水大于雇主---over
直接查找的方法:
Select A.Name as Employee
from Employee A, Employee B
where A.ManagerId = B.Id
and A.Salary > B.Salary