[SQL]LeetCode181. 超过经理收入的员工 | Employees Earning More Than Their Managers

SQL架构

1 Create table If Not Exists Employee (Id int, Name varchar(255), Salary int, ManagerId int)
2 Truncate table Employee
3 insert into Employee (Id, Name, Salary, ManagerId) values (‘1‘, ‘Joe‘, ‘70000‘, ‘3‘)
4 insert into Employee (Id, Name, Salary, ManagerId) values (‘2‘, ‘Henry‘, ‘80000‘, ‘4‘)
5 insert into Employee (Id, Name, Salary, ManagerId) values (‘3‘, ‘Sam‘, ‘60000‘, ‘None‘)
6 insert into Employee (Id, Name, Salary, ManagerId) values (‘4‘, ‘Max‘, ‘90000‘, ‘None‘)


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      |
+----------+

+----+-------+--------+-----------+
| 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      |
+----------+

182ms
 1 # Write your MySQL query statement below
 2 select E1.Name as Employee
 3         from(
 4             select * from Employee
 5         )E1
 6         left join
 7         (
 8             select * from Employee
 9                 group by id
10         )E2
11         on E1.ManagerId = E2.Id
12         where E1.Salary > E2.Salary


185ms

1 SELECT b.Name AS Employee
2 FROM Employee a
3 JOIN Employee b
4 ON a.ID = b.ManagerID
5 WHERE b.Salary > a.Salary;


647ms

1 /* Write your T-SQL query statement below */
2 SELECT a.Name AS Employee
3 FROM Employee a
4     JOIN Employee b ON a.ManagerId = b.Id
5 WHERE a.Salary > b.Salary

原文地址:https://www.cnblogs.com/strengthen/p/10152507.html

时间: 2024-10-14 07:10:02

[SQL]LeetCode181. 超过经理收入的员工 | Employees Earning More Than Their Managers的相关文章

leetcode181 超过经理收入的员工 Employees Earning More Than Their Managers

Employee表包含所有员工,包括他们的经理.每个员工都有一个 Id,此外还有一列对应的经理Id. 创建表和数据: drop table EmployeeCreate table If Not Exists Employee (Id int, Name varchar(255), Salary int, ManagerId int); Truncate table Employee; insert into Employee (Id, Name, Salary,ManagerId) value

超过经理收入的员工(Sql语句)

SQL架构 Employee 表包含所有员工,他们的经理也属于员工.每个员工都有一个 Id,此外还有一列对应员工的经理的 Id. +----+-------+--------+-----------+ | Id | Name | Salary | ManagerId | +----+-------+--------+-----------+ | 1 | Joe | 70000 | 3 | | 2 | Henry | 80000 | 4 | | 3 | Sam | 60000 | NULL | |

181. 超过经理收入的员工

Employee 表包含所有员工,他们的经理也属于员工.每个员工都有一个 Id,此外还有一列对应员工的经理的 Id. +----+-------+--------+-----------+ | Id | Name | Salary | ManagerId | +----+-------+--------+-----------+ | 1 | Joe | 70000 | 3 | | 2 | Henry | 80000 | 4 | | 3 | Sam | 60000 | NULL | | 4 | M

超过经理收入的员工

Employee 表包含所有员工,他们的经理也属于员工.每个员工都有一个 Id,此外还有一列对应员工的经理的 Id. +----+-------+--------+-----------+ | Id | Name | Salary | ManagerId | +----+-------+--------+-----------+ | 1 | Joe | 70000 | 3 | | 2 | Henry | 80000 | 4 | | 3 | Sam | 60000 | NULL | | 4 | M

力扣——超过经理收入的员工(数据库的题

Employee 表包含所有员工,他们的经理也属于员工.每个员工都有一个 Id,此外还有一列对应员工的经理的 Id. +----+-------+--------+-----------+ | Id | Name | Salary | ManagerId | +----+-------+--------+-----------+ | 1 | Joe | 70000 | 3 | | 2 | Henry | 80000 | 4 | | 3 | Sam | 60000 | NULL | | 4 | M

[LeetCode] 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 |

DataBase -- Employees Earning More Than Their Managers My Submissions Question

Question: 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 | +----+-------+--------+--------

[LeetCode]Employees Earning More Than Their Managers,解题报告

目录 目录 题目 思路 AC SQL 题目 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 G

【leetcode SQL】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 |