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;这句话的意思是:员工的薪资与所属经理的薪资匹配如果员工的薪资大的话,就输出出来.否则不输出.