欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【LeetCode】181.超过经理收入的员工

程序员文章站 2022-03-13 21:25:55
...

181.超过经理收入的员工

Employee表包含所有员工,包括他们的经理。每个员工都有一个 Id,此外还有一列对应的经理Id

【LeetCode】181.超过经理收入的员工

用到的表和数据SQL:

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

答案:

这道题给我们了一个Employee表,里面有员工的薪水信息和其经理的信息,经理也属于员工,其经理Id为空,让我们找出薪水比其经理高的员工,那么就是一个很简单的比较问题了,我们可以生成两个实例对象进行内交通过ManagerId和Id,然后限制条件是一个Salary大于另一个即可:

select name Employee from Employee e1
where e1.Salary > (select e2.Salary fromEmployee e2 where e1.ManagerId = e2.Id)

写的比较粗糙,有不理解的可以扫描二维码加QQ群找我解答。

【LeetCode】181.超过经理收入的员工