【LeetCode】181.超过经理收入的员工
程序员文章站
2022-03-13 21:25:55
...
181.超过经理收入的员工
Employee
表包含所有员工,包括他们的经理。每个员工都有一个 Id,此外还有一列对应的经理Id。
用到的表和数据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群找我解答。
上一篇: 深入了解CORS
下一篇: JAVA开发者最常去的25个英文网站