本文主要是介绍【LeetCode】181.超过经理收入的员工 学习biji,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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)
通过比较 managerid 和 员工id 进行联结,然后用salary进行限制。
这篇关于【LeetCode】181.超过经理收入的员工 学习biji的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!