MySQL编程实战LeetCode经典考题

文章简介

本文主要收集了LeetCode上关于MySQL的一些经典考题。
后续也会陆续把所有经典考题补充完整。

175.组合两个表

175.组合两个表
在这里插入图片描述
在这里插入图片描述

解答:

select p.FirstName as firstName, p.LastName as lastName,a.City as city, a.State as state 
from Person p 
left join 
Address a 
on p.PersonId=a.PersonId

说明:比较经典的一道左连接题目。首先,题目有两个表,其次提示是以首个表为中心,第二个表中属性不存在可以为null,从而确定是left join。

181.超过经理收入的员工

181.超过经理收入的员工
在这里插入图片描述
在这里插入图片描述

解答:
子查询方式(MySQL中的子查询指的是在主查询语句内部使用嵌套的SELECT语句)。找员工的薪资 > 员工的经理的薪资即可。

select name as Employee
from Employee e
where e.salary > (select salary from Employee t where t.id = e.managerId);

JOIN方式

SELECT a.NAME AS Employee
FROM Employee AS a 
JOIN Employee AS b 
ON a.ManagerId = b.Id 
AND a.Salary > b.Salary;

说明:对于只给单张表又有多个主题比较的情况,一般可以通过子查询或者内连接的方式来解决。

182. 查找重复的电子邮箱

182.查找重复的电子邮箱
在这里插入图片描述
在这里插入图片描述
解答:

select Email
from Person
group by Email
having count(Email) > 1;

说明:当出现去重的需求时,可以首先考虑分组查询 或 UNION联合查询。

196. 删除重复的电子邮箱

196. 删除重复的电子邮箱
在这里插入图片描述
在这里插入图片描述

解答:
方法一:嵌套

delete from Person where id not in
(select id from (select min(id) as id, count(*) as num from Person group by Email) t
);

方法二:DELETE + WHERE【官方,不易理解】

DELETE p1 FROM Person p1,Person p2
WHEREp1.Email = p2.Email AND p1.Id > p2.Id;

197. 上升的温度

197. 上升的温度
在这里插入图片描述
在这里插入图片描述
解答:
利用日期函数找到了昨天的日期 datediff(a.recordDate,b.recordDate) = 1

select a.id from  Weather as a,Weather as b where datediff(a.recordDate,b.recordDate) = 1 and a.Temperature >b.Temperature;

577. 员工奖金

577. 员工奖金
在这里插入图片描述
在这里插入图片描述
解答:

select name, bonus
from Employee left join Bonus
on Employee.EmpId = Bonus.EmpId
where bonus is null or bonus < 1000;

584. 寻找用户推荐人

584. 寻找用户推荐人
在这里插入图片描述
在这里插入图片描述
非常简单。解答:

select name from customer where referee_id != 2 or referee_id is null

586. 订单最多的客户

586. 订单最多的客户
在这里插入图片描述
在这里插入图片描述
解法1:

select customer_number from (
select customer_number, count(*) as total from Orders group by customer_number
) t
order by t.total desc
limit 1

解法2:【标准】
这里很明显需要分组,而且很特别的是,分组的和我们需要的是同一个字段
又因为需要的是最多的数据,所以这里使用LIMIT 1进行分表即可,SQL如下

SELECTcustomer_number
FROMorders
GROUP BY customer_number
ORDER BY COUNT(*) DESC
LIMIT 1;

595. 大的国家

595. 大的国家
在这里插入图片描述
在这里插入图片描述
非常简单:

SELECTname, population, area
FROMworld
WHEREarea >= 3000000 OR population >= 25000000;

596. 超过5名学生的课

596. 超过5名学生的课
在这里插入图片描述
在这里插入图片描述

方法一:
分组并count,然后数量大于等于5。很简单,有个临时表

select class from (
select class, count(*) as total from courses group by class
) t
where t.total >= 5

方法二:【标准解答】

SELECTclass
FROMcourses
GROUP BY class
HAVING COUNT(student) >= 5;

说明:有多个重复的数据且需要统计数量,一般使用GROUP BY

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/783894.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【MogDB】解读MogDB5.0.6版本中有关兼容性的一些更新

前言 MogDB于2024-03-30发布了其5.0版本的补丁版本—5.0.6&#xff0c;其在MogDB 5.0.5的基础上新增部分特性并修复了部分缺陷&#xff0c;具体内容可参考官方文档 # MogDB 5.0.6发布说明 相信有一些伙伴和我一样对兼容性的部分感兴趣&#xff0c;因此本篇就针对本次更新的一些…

loadbalancer 引入与使用

在消费中pom中引入 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId> </dependency> 请求调用加 LoadBalanced 注解 进行服务调用 默认负载均衡是轮训模式 想要切换…

【b站李炎恢】Vue.js Element UI 下 | 十天技能课堂 | 更新中... | 李炎恢

课程地址&#xff1a;【Vue.js Element UI | 十天技能课堂 | 更新中... | 李炎恢】 https://www.bilibili.com/video/BV1U54y127GB/?share_sourcecopy_web&vd_sourceb1cb921b73fe3808550eaf2224d1c155 备注&#xff1a;虽然标题声明还在更新中&#xff0c;但是看一些常用…

vue知识点: v-if和v-for为何不能同时使用?

在vue2和vue3的官方文档里都写到不推荐 v-if和v-for同时使用&#xff0c;如下代码所示&#xff1a; <li v-for"todo in todos" v-if"!todo.isComplete">{{ todo.text }} </li> 一、vue3文档&#xff1a;列表渲染 | Vue.js 在vue3中&#xff…

将Python程序打包为Windows安装包

本文使用创作助手。 如果你想将Python程序打包为Windows安装包&#xff0c;你可以使用NSIS&#xff08;Nullsoft Scriptable Install System&#xff09;工具。NSIS是一个免费的Windows安装包创建工具。 以下是使用NSIS将Python程序打包为Windows安装包的步骤&#xff1a; 首…

Python库使用介绍 LivermorE AI Projector for Computed Tomography LEAP

Python库使用介绍 LivermorE AI Projector for Computed Tomography LEAP 前言Projector 用于设定投影参数的类参数解释&#xff1a;其它功能load_param(str filepath)forward(ipt, project_mode"forward") 样例代码后记 前言 github开源代码 python API文档 作为一…

TypeScript-自动编译

1.生成文件 tsc --init 2.修改配置文件 说明&#xff1a;通过CTRLF搜索到以下单词&#xff0c;进行修改。 "strict": true, //是否开启严格模式 "outDir": "./outFile", //表示ts文件最终编译为js文件&#xff0c;js文件存放的位置 3.新…

pytorch中的torch.nn.Linear

torch.nn.Linear是pytorch中的线性层&#xff0c;应该是最常见的网络层了&#xff0c;官方文档&#xff1a;torch.nn.Linear。 torch.nn.Linear(in_features, out_features, biasTrue, deviceNone, dtypeNone)其中&#xff0c;in_features表示输入的维度&#xff1b;out_featu…

大模型LLM论文整理

Gemini&#xff1a;一族功能强大的多模态模 论文名称&#xff1a;Gemini: A Family of Highly Capable Multimodal Models 论文地址&#xff1a;https://arxiv.org/pdf/2312.11805 会议&#xff1a; 论文方法&#xff1a;该论文介绍了一种新的多模态模型系列&#xff0c;Gem…

C++心决之命名空间、重载函数和引用

目录 1. C关键字(C98) 2. 命名空间 2.1 命名空间定义 2.2 命名空间使用 3. C输入&输出 4. 缺省参数 4.1 缺省参数概念 4.2 缺省参数分类 5. 函数重载 5.1 函数重载概念 5.2 C支持函数重载的原理--名字修饰(name Mangling) 6. 引用 6.1 引用概念 6.2 引用特性…

代码随想录第九天: 字符串完结

语言: Java 参考资料: 代码随想录、ChatGPT3.5 28. 实现 strStr() 力扣题目链接(opens new window) 实现 strStr() 函数。 给定一个 haystack 字符串和一个 needle 字符串&#xff0c;在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在&#…

问题大全——C语言及数据结构篇(自用)

目录 printf函数中那些%d %f等等的作用 运算符的优先级 选择排序 冒泡排序 快速排序 折半查找 归并排序 strcat strcpy scanf可以限制输入格式么 c语言实现链式队列&#xff0c;输入数字入队&#xff0c;输入字符出队。 统计一个范围内的素数 打印水仙花数 打印杨…

Android Q(10)黑暗模式适配的实现

一、引言 随着 AndroidQ&#xff08;10&#xff09;的发布&#xff0c;黑暗模式成为了系统级别的特性。为了满足用户在不同环境下的使用需求&#xff0c;应用程序需要及时进行黑暗模式的适配。本文将详细介绍如何在 AndroidQ&#xff08;10&#xff09;上实现黑暗模式的适配&a…

【架构篇】看完这篇,不要再说你不会性能调优了

调优方向 系统调优是一个复杂且多方面的任务&#xff0c;主要目标是提高系统的性能和效率。它可以针对不同的层面和组件进行&#xff0c;包括硬件、操作系统、网络、软件应用程序等。以下是一些常见的系统调优方面&#xff1a; 硬件优化&#xff1a; CPU性能优化&#xff1a;…

基于spark的大数据分析预测地震受灾情况的系统设计

基于spark的大数据分析预测地震受灾情况的系统设计 在本篇博客中,我们将介绍如何使用Apache Spark框架进行地震受灾情况的预测。我们将结合数据分析、特征工程、模型训练和评估等步骤,最终建立一个预测模型来预测地震造成的破坏程度,同时使用可视化大屏的方式展示数据的分布…

补代码随想录算法训练营第39天 | 62.不同路径、63. 不同路径 II

慢慢开始有点感觉了 初始化很巧妙 62.不同路径 本题大家掌握动态规划的方法就可以。 数论方法 有点非主流&#xff0c;很难想到。 代码随想录 视频讲解&#xff1a;动态规划中如何初始化很重要&#xff01;| LeetCode&#xff1a;62.不同路径_哔哩哔哩_bilibili 63. 不同路径…

DreamSim技术小结

paperhttps://arxiv.org/abs/2306.09344codehttps://github.com/ssundaram21/dreamsimorgMiT个人博客主页http://myhz0606.com/article/dream_sim 1 Motivation 目前较为成熟度量图片相似性的做法是通过模型将图片转为embedding&#xff0c;再用余弦相似度来度量相似性。虽然…

【数据分析面试】1. 计算年度收入百分比(SQL)

题目 你需要为公司的营收来源生成一份年度报告。计算截止目前为止&#xff0c;在表格中记录的第一年和最后一年所创造的总收入百分比。将百分比四舍五入到两位小数。 示例&#xff1a; 输入&#xff1a; annual_payments 表 列名类型amountINTEGERcreated_atDATETIMEstatusV…

Linux企业级别日志的查找

企业级别日志的查找 查看mysql数据库的日志错误日志&#xff08;Error Log&#xff09;查询日志&#xff08;General Query Log&#xff09;慢查询日志&#xff08;Slow Query Log&#xff09;事务日志&#xff08;Transaction Log&#xff09;二进制日志&#xff08;Binary Lo…

Thread 之start 和run 的区别

Java Thread 之start 和run 的区别 用start方法来启动线程&#xff0c;真正实现了多线程运行&#xff0c;这时无需等待run方法体代码执行完毕而直接继续执行下面的代码。通过调用Thread类的start()方法来启动一个线程&#xff0c;这时此线程处于就绪&#xff08;可运行&#x…