The Employee table holds all employees including their managers. Every employee has an Id, and there is also a column for the manager Id.
+----+-------+--------+-----------+
| Id | Name | Salary | ManagerId |
+----+-------+--------+-----------+
| 1 | Joe | 70000 | 3 |
| 2 | Henry | 80000 | 4 |
| 3 | Sam | 60000 | NULL |
| 4 | Max | 90000 | NULL |
+----+-------+--------+-----------+
Given the Employee table, write a SQL query that finds out employees who earn more than their managers. For the above table, Joe is the only employee who earns more than his manager.
+----------+
| Employee |
+----------+
| Joe |
+----+-------+--------+-----------+
| Id | Name | Salary | ManagerId |
+----+-------+--------+-----------+
| 1 | Joe | 70000 | 3 |
| 2 | Henry | 80000 | 4 |
| 3 | Sam | 60000 | NULL |
| 4 | Max | 90000 | NULL |
+----+-------+--------+-----------+
Given the Employee table, write a SQL query that finds out employees who earn more than their managers. For the above table, Joe is the only employee who earns more than his manager.
+----------+
| Employee |
+----------+
| Joe |
+----------+
这题用的是self join 的方法 选出 ManagerID 再将Salary作为比较条件即可得到答案。
# Write your MySQL query statement below
SELECT A.Name From Employee A,Employee B
WHERE A.ManagerId=B.Id and A.Salary>B.Salary
本文介绍了一种使用 SQL 自连接的方法来找出那些薪资比他们的直接上级还要高的员工。通过展示具体的例子,读者可以了解如何构造 SQL 查询来完成这一任务。
3664

被折叠的 条评论
为什么被折叠?



