zhaoyqiu的数据分析进阶之路2.0

D8-leetcode181超过经理收入的员工(简单)

2020-07-02  本文已影响0人  喝奶茶不加奶茶

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


给定 Employee 表,编写一个 SQL 查询,该查询可以获取收入超过他们经理的员工的姓名。在上面的表格中,Joe 是唯一一个收入超过他的经理的员工。


?什么叫做“对应员工的经理的 Id”
?经理是哪位
解释一下题目:
ID:1,2对应的Salary表示作为员工的工资: ManagerID对应下面ID为3,4。3,4里的Salary则是作为经理的工资 此表中只有Joe作为员工时70000>他作为经理时的60000。

思路:
同一张表的信息左关联,需要把一张表二次使用做关联再比较
(1)将表自己进行关联,实现员工表和经理表

select  * from Employee a left join Employee b on a.Id=b.ManagerId;

(2)筛选出员工工资大于经理工资的员工姓名,并重新命名为Employee

select  b.Name as Employee 
from Employee a left join Employee b on a.Id=b.ManagerId 
where b.salary>a.salary ;
上一篇下一篇

猜你喜欢

热点阅读