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

Posted jiyanjiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了超过经理收入的员工(Sql语句)相关的知识,希望对你有一定的参考价值。

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

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

答案: select * FROM employee AS a, employee AS b where a.ManagerId = b.Id and a.Salary > b.Salary
拓展:选出有经理的员工即manageredId不为空 select Id from employee where ManagerId is not null
  :当where中id对应有多个值的时候使用in 查出不为空的经理的薪水 select ManagerId from employee where Id in (select Id from employee where ManagerId is not null)

以上是关于超过经理收入的员工(Sql语句)的主要内容,如果未能解决你的问题,请参考以下文章

sql 181.员工的收入超过他们的经理(第1名).sql

sql 181.员工的收入超过他们的经理(第1名).sql

sql 181.员工的收入超过他们的经理(第1名).sql

sql 181.员工的收入超过他们的经理(第1名).sql

sql 181.员工的收入超过他们的经理(第1名).sql

sql 181.员工的收入超过他们的经理(第1名).sql