LeetCode-181 超过经理收入的员工---SQL语句实现及详解

select a.name as Employee from Employee a inner join Employee b 
where a.ManagerId = b.Id AND a.Salary > b.Salary;

解析:
这样就能判断出那个员工的薪资超过了经理。
为什么表这样设计呢???
因为在这里插入图片描述代表下面的经理表的工资呢:
在这里插入图片描述

那员工表的工资呢?
在这里插入图片描述

然后匹配a.ManagerId = b.Id AND a.Salary > b.Salary;就行了.你细品就懂了!意思是:a.ManagerId = b.Id 代表的是:
记住一句话:比较的是所属员工的经理相比较,也就是说员工和员工所属的经理相比较。所以你懂了吗?
a.Salary > b.Salary;这句话的意思是:员工的薪资与所属经理的薪资匹配如果员工的薪资大的话,就输出出来.否则不输出.

在这里插入图片描述

posted @ 2021-09-05 22:19  贵哥的编程之路  阅读(23)  评论(0)    收藏  举报