版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
题目描述
Employee 表包含所有员工,他们的经理也属于员工。每个员工都有一个 Id,此外还有一列对应员工的经理的 Id。给定 Employee 表,编写一个 SQL 查询,该查询可以获取收入超过他们经理的员工的姓名。在上面的表格中,Joe 是唯一一个收入超过他的经理的员工。
题解
SELECT E1.Name AS Employee
FROM
Employee AS E1
INNER JOIN
Employee AS E2
ON E1.ManagerId = E2.Id
WHERE E1.Salary>E2.Salary;
解题思路:因为要查询超过经理收入的员工,而经理id 和员工 id(经理也是员工)不在同一列,所以对这个表根据其员工ID与经理id相同进行inner join