LeetCode 数据库查询题【Easy】:181. Employees Earning More Than Their Managers

链接:https://leetcode.com/problems/employees-earning-more-than-their-managers/

Question

Table: Employee

1
2
3
4
5
6
7
8
+-------------+---------+
| Column Name | Type |
+-------------+---------+
| id | int |
| name | varchar |
| salary | int |
| managerId | int |
+-------------+---------+

id is the primary key column for this table.

Each row of this table indicates the ID of an employee, their name, salary, and the ID of their manager.

Write an SQL query to find the employees who earn more than their managers.

Return the result table in any order.

The query result format is in the following example.

Example 1:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Input: 
Employee table:
+----+-------+--------+-----------+
| id | name | salary | managerId |
+----+-------+--------+-----------+
| 1 | Joe | 70000 | 3 |
| 2 | Henry | 80000 | 4 |
| 3 | Sam | 60000 | Null |
| 4 | Max | 90000 | Null |
+----+-------+--------+-----------+
Output:
+----------+
| Employee |
+----------+
| Joe |
+----------+

Explanation: Joe is the only employee who earns more than his manager.

My Answer

1
2
3
4
select t1.name as 'Employee'
from Employee t1
join Employee t2 on t1.managerId = t2.id
where t1.managerId is not null and t1.salary > t2.salary

My Answer’s Performance

7