LeetCode: 181. Employees Earning More Than Their Managers

题目描述

The Employee table holds all employees including their managers. Every employee has an Id, and there is also a column for the manager Id.

+----+-------+--------+-----------+
| Id | Name | Salary | ManagerId | +----+-------+--------+-----------+
| 1  | Joe   | 70000  | 3         |
| 2  | Henry | 80000  | 4         |
| 3  | Sam   | 60000  | NULL      |
| 4 | Max | 90000 | NULL | +----+-------+--------+-----------+

Given the Employee table, write a SQL query that finds out employees who earn more than their managers. For the above table, Joe is the only employee who earns more than his manager.

+----------+
| Employee | +----------+
| Joe | +----------+

解题思路

将两个 Employee 表以 ManagerId = Id 连接,然后筛选出薪资比主管高的员工。

AC 代码

SELECT E.Name As Employee FROM Employee AS E, Employee AS M WHERE E.ManagerId = M.Id AND E.Salary > M.Salary;