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 | +----------+
您是否在真实的面试环节中遇到过这道题目呢?
解答如下:
select e.Name as Employee from employee e,employee m where e.managerid=m.id and e.salary>m.salary