一张表中比经理工资更高的员工名

在给定的Employee表中,存在每个员工及其经理的信息。通过SQL查询,可以找出那些薪资超过其经理的员工。在这个例子中,Joe是唯一一个薪资超过其经理的员工。查询涉及到将员工表自我连接,比较员工薪资与经理薪资,并筛选出薪资更高的员工。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、描述

Employee 表包含所有员工,他们的经理也属于员工。每个员工都有一个 Id,此外还有一列对应员工的经理的 Id。

±—±------±-------±----------+
| Id | Name | Salary | ManagerId |
±—±------±-------±----------+
| 1 | Joe | 70000 | 3 |
| 2 | Henry | 80000 | 4 |
| 3 | Sam | 60000 | NULL |
| 4 | Max | 90000 | NULL |
±—±------±-------±----------+
给定 Employee 表,编写一个 SQL 查询,该查询可以获取收入超过他们经理的员工的姓名。在上面的表格中,Joe 是唯一一个收入超过他的经理的员工。

±---------+
| Employee |
±---------+
| Joe |
±---------+

来源:力扣(LeetCode)
链接:

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2、关键字

一张表,id和对应经理id,然后找出来比经理工资高的员工

3、思路

把两张表,连接成一张表,(根据第一张表的经理id == 第二张表的id,)然后直接比较

4、notes

这个就这样搞一下

6、code

select a.Name as 'Employee'  // 这里的a,不能用employee或者b
from
    employee as a,   // 有逗号
    employee as b
where
    a.managerId = b.id  // a的managerId
    and a.salary > b.salary  // and关键字

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值