引入
表:Employee
±------------±--------+
| Column Name | Type |
±------------±--------+
| id | int |
| name | varchar |
| salary | int |
| managerId | int |
±------------±--------+
Id是该表的主键。
该表的每一行都表示雇员的ID、姓名、工资和经理的ID。
编写一个SQL查询来查找收入比经理高的员工。
以 任意顺序 返回结果表。
查询结果格式如下所示。
示例
示例 1:
输入:
Employee 表:
±—±------±-------±----------+
| id | name | salary | managerId |
±—±------±-------±----------+
| 1 | Joe | 70000 | 3 |
| 2 | Henry | 80000 | 4 |
| 3 | Sam | 60000 | Null |
| 4 | Max | 90000 | Null |
±—±------±-------±----------+
输出:
±---------+
| Employee |
±---------+
| Joe |
±---------+
解释: Joe 是唯一挣得比经理多的雇员。
题解
这么简单的题我就不用详细讲了吧~
查询名字,where子句判断谁的工资比经理高
值得注意的是每个人都有自己的经理所以我这里使用嵌套子查询将他的经理找出来。
SELECT name Employee
FROM Employee e1
WHERE salary >(
SELECT salary
FROM Employee e2
WHERE e1.managerID = e2.id
);