力扣-超过经理收入的员工
创始人
2025-05-29 14:42:23

大家好,我是空空star,本篇带大家了解一道简单的力扣sql练习题。

文章目录

  • 前言
  • 一、题目:181. 超过经理收入的员工
  • 二、解题
    • 1.正确示范①
      • 提交SQL
      • 运行结果
    • 2.正确示范②
      • 提交SQL
      • 运行结果
    • 3.正确示范③
      • 提交SQL
      • 运行结果
    • 4.正确示范④
      • 提交SQL
      • 运行结果
    • 5.其他
  • 总结


前言


一、题目:181. 超过经理收入的员工

表:Employee

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| id          | int     |
| name        | varchar |
| salary      | int     |
| managerId   | int     |
+-------------+---------+

Id是该表的主键。
该表的每一行都表示雇员的ID、姓名、工资和经理的ID。

编写一个SQL查询来查找收入比经理高的员工。
以 任意顺序 返回结果表。
查询结果格式如下所示。

输入: 
Employee 表:
+----+-------+--------+-----------+
| id | name  | salary | managerId |
+----+-------+--------+-----------+
| 1  | Joe   | 70000  | 3         |
| 2  | Henry | 80000  | 4         |
| 3  | Sam   | 60000  | Null      |
| 4  | Max   | 90000  | Null      |
+----+-------+--------+-----------+
输出: 
+----------+
| Employee |
+----------+
| Joe      |
+----------+

解释: Joe 是唯一挣得比经理多的雇员。

二、解题

1.正确示范①

提交SQL

select u1.name Employee from Employee u1,Employee u2 
where u1.managerId=u2.id 
and u1.salary>u2.salary;

运行结果

2.正确示范②

提交SQL

select u1.name Employee from Employee u1
where salary>(select salary from Employee u2 where  u1.managerId=u2.id
);

运行结果

3.正确示范③

提交SQL

select u1.name Employee
from Employee u1
left join Employee u2 
on u1.managerId=u2.id
where u1.salary>u2.salary;

运行结果

4.正确示范④

提交SQL

select u1.name Employee
from Employee u1
join Employee u2 
on u1.managerId=u2.id
where u1.salary>u2.salary;

运行结果

5.其他


总结

正确示范①思路:
方法1会产生笛卡尔积,通过where限定符合规则的条件即可
where + and
where u1.managerId=u2.id and u1.salary>u2.salary
正确示范②思路:
采用子查询方式
where + 子查询
where salary>(select salary from Employee u2 where u1.managerId=u2.id)
正确示范③思路:
left join + on + where
注意这里的where在该题目中不能换作and
正确示范④思路:
join + on +where 或者 join + on +and

相关内容

热门资讯

开发还分前、后端?它们都是做什... 开发还分前、后端?它们都是做什么的? 2023-03-20 14:54·...
Nordic nRF5 mes... nRF5 mesh蓝牙组网软件SDK下载链接: NordicSemiconductor...
【uniapp tabs标签组... 前言 这个tabs功能是很多移动端项目都要用的 最近我刚好遇到了这个功能 因为我们项目不让用uvie...
电子采购管理软件开发功能有哪些... 电子采购系统是将供应商、招标机构、评标专家、政府监督机构等连接起来,企业、机关和个人在...
K8S集群1.24使用dock... 文章目录1. 环境介绍2. 异常信息3. 分析问题3.1 kubernetes 健康检查3.1.1 ...
TS接口类型 40. TS接口 1. 定义 TypeScript 中的接口是一种抽象结构,用于定义对...
Time out. EFI N... 背景:最近使用了虚拟机,正准备安装个Windows10的操作系统...
数字电路2. OC门、OD门、... 数字电路2. OC门、OD门、三态门一、OC门——集电集开路门1. 基本概念2. 作用3. 使用要点...
操作系统性能优化实践 感谢内容提供者:四川省奇呱科技有限公司 文章目录一、常见性能指标及USE法分类1.C...
展现AI与自动化测试技术之间的... 目录:导读 前言 一、介绍 1、什么是自动化测试技术 2、痛点 3、几款优秀的自动化测...
第一周web 目录 [NISACTF 2022]popchains  [NSSCTF 2022 Spring Re...
百元降噪耳机推荐,适合学生党入... ​降噪蓝牙耳机怎么选?有哪些适合学生党使用的百元降噪蓝牙耳机?很多人在面...
C# winform坐标系类型... C# winform坐标系类型详解 GDI+ 使用三个坐标空间:世界、页面和设...
Windows平台安装MacO... 写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自...
Windos远程连接Linux... ssh安装 使用root用户登录 su root 更换apt 下载源为清华源,先备...
近期媒体邀约活动总结,注意事项 传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 随...
每日一博 - Java 异步编... 文章目录概述概述Executor与线程池Java 中的线程池使用线程池的注意事项强烈建议使用有界队列...
thinkphp基础学习 Composer安装thinkphp6,输入命令,其中tp为项目目录名可...
10从零开始学Java之开发J... 作者:孙玉昌,昵称【一一哥】,另外【壹壹哥】也是我哦CSD...
项目团队任务分配的5大注意事项         想要把工作合理分配给下属,在进行项目团队任务分配时,需要...
scratch猜数字游戏 电子... 目录 scratch猜数字游戏 一、题目要求 1、准备工作 2、功能实现 二、案例分析 <
Windows逆向安全(一)之... C语言内联汇编和调用协定 前面我们通过分析反汇编分析了C语言,现在我们来探究如何在C语...
「操作系统」什么是用户态和内核... 「操作系统」什么是用户态和内核态?为什么要区分 参考&鸣谢 从根上理解用户态与内核态...
vue项目局域网前后端接口对接... 场景: 项目开发中,当前没有服务器,或感觉每次部署包麻烦的...
选择器(设置样式的元素) 系列文章目录 前端系列文章——传送门 CSS系列文章——传送门 文章目录系列文章目录1.基本选择器...
【IoT】嵌入式Linux开发... 目录 LCD类型 分辨率 色深(色位) 尺寸 PPI(pixels per inch) LCD连接...
MySQL事务处理 Java知识点总结:想看的可以从这里进入 目录4、MySQL事务处理4.1、 简介4...
MyBatis级联一对一与一对... 级联 MyBatis 的级联分为3 种: 鉴别器(discriminator):它是一...
栈和队列(stack和queu... 目录一、栈1.1 什么是栈?1.2 栈的相关操作1.2.1 结构体变量的声明1.2.2...
Hive 文章目录1️⃣、Hive入门1.1、什么是Hive1.2、Hive架构2️⃣、Hive安装及使用2....