leetcode题集训 sql

news2024/11/22 11:38:27

目录

  • 背景
  • 步骤
    • 175组合两个表(多表联查)
    • 176 177 第n高的薪水(Distinct关键字 排序)
    • 178分数排名 (排序 order over关键字)
    • 179 连续出现的数字 (模拟多张表联查)
    • 181. 超过经理收入的员工 (两表联查)
    • 182 查找重复的电子邮箱(group by)
    • 183 从不订购的客户(两表联查)
    • 184部门最高工资员工(两表联查 max函数 )
    • 196删除重复的电子邮箱(group not in)
    • 197上升温度(datediff)
    • 511 游戏玩法分析
  • 总结

背景

虽然现在chatGPT很大程度上满足了大家的需要,但是写sql还是咱们程序员必不可少的部分啊
于是我参加了这次SQL集训。下面就让我们看看有什么题给我留下了很深的印象吧。

步骤

175组合两个表(多表联查)

1、多表联查
在这里插入图片描述`


SELECT p.FirstName, p.LastName,a.City,a.State
FROM person p  left JOIN address  a
ON p.personid = a.personid

176 177 第n高的薪水(Distinct关键字 排序)

掌握Distinct关键字

编写一个SQL查询来报告 Employee 表中第 n 高的工资。如果没有第 n 个最高工资,查询应该报告为 null 。
在这里插入图片描述

CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
  RETURN (
       select (
          select distinct salary from (
              select salary, dense_rank() over (order by salary desc) rnk from employee
          )t
          where rnk=N
      )getNthHighestSalary
      
  );
END

178分数排名 (排序 order over关键字)

编写 SQL 查询对分数进行排序。排名按以下规则计算:

分数应按从高到低排列。
如果两个分数相等,那么两个分数的排名应该相同。
在排名相同的分数后,排名数应该是下一个连续的整数。换句话说,排名之间不应该有空缺的数字。

在这里插入图片描述

select score,dense_rank() over (order by score desc) as 'rank'
from Scores

179 连续出现的数字 (模拟多张表联查)

编写一个 SQL 查询,查找所有至少连续出现三次的数字。

返回的结果表中的数据可以按 任意顺序 排列。

查询结果格式如下面的例子所示:
在这里插入图片描述
有点不是很明白

# Write your MySQL query statement below

SELECT DISTINCT l1.Num AS ConsecutiveNums 
FROM Logs AS l1, Logs AS l2, Logs AS l3
WHERE l1.id=(l2.id +1) AND l2.id = (l3.id+1) AND l1.Num = l2.Num AND l2.Num = l3.Num

where 后是三张表进行联查,因为说了是连续 l1.id=(l2.id +1) AND l2.id = (l3.id+1),说了是数字相等 l1.Num = l2.Num AND l2.Num = l3.Num

181. 超过经理收入的员工 (两表联查)

编写一个SQL查询来查找收入比经理高的员工。
在这里插入图片描述


select 
    e1.name as `Employee`
from 
Employee e1
join   Employee  e2
on    e1.managerId = e2.id and e1.salary >e2.salary

182 查找重复的电子邮箱(group by)

在这里插入图片描述

编写一个 SQL 查询来报告所有重复的电子邮件。 请注意,可以保证电子邮件字段不为 NULL。

select Email from (
    select  Email,count(Id)as num
    from person
    group by Email
)as tmp 
where tmp.num >1

183 从不订购的客户(两表联查)

在这里插入图片描述
某网站包含两个表,Customers 表和 Orders 表。编写一个 SQL 查询,找出所有从不订购任何东西的客户。

select Name  Customers  
from Customers  c 
 left join Orders o  
 on   o.CustomerId = c.Id 
where o.Id is null

184部门最高工资员工(两表联查 max函数 )

编写SQL查询以查找每个部门中薪资最高的员工。
按 任意顺序 返回结果表。
在这里插入图片描述

select 
    d.Name as Department,
    e.Name as Employee,
    e.Salary 
from 
    Employee e,Department d 
where
    e.DepartmentId=d.id 
    and
    (e.Salary,e.DepartmentId) in (select max(Salary),DepartmentId from Employee group by DepartmentId);

196删除重复的电子邮箱(group not in)

编写一个 SQL 删除语句来 删除 所有重复的电子邮件,只保留一个id最小的唯一电子邮件。

以 任意顺序 返回结果表。 (注意: 仅需要写删除语句,将自动对剩余结果进行查询)

在这里插入图片描述

DELETE 
from Person 
Where Id not in (
    Select Id 
    From(
        Select MIN(Id) as id
        From Person 
        Group by Email
   ) t
)

197上升温度(datediff)

编写一个 SQL 查询,来查找与之前(昨天的)日期相比温度更高的所有日期的 id 。在这里插入图片描述

select w1.id id
from weather w1
where w1.temperature > (
    select w2.temperature
    from weather w2
    where datediff(w1.recordDate, w2.recordDate) = 1
)

511 游戏玩法分析

写一条 SQL 查询语句获取每位玩家 第一次登陆平台的日期。
在这里插入图片描述

select player_id,min(event_date) first_login
from activity
group by player_id

总结

虽然练习sql有很多好处,但是我们不得不意识到chatGPT就能解决这些事情,但是我们也要会写(会写但是不写),不然以后得低水平工作机会都是全能的GPT啦~

熟悉SQL语言:SQL是关系型数据库管理系统(RDBMS)的标准查询语言,学习和练习SQL可以帮助您熟悉这种语言的语法和结构。掌握SQL可以使您更有效地查询、修改和管理数据库。

数据库管理技能:SQL是访问和管理关系型数据库的关键工具。通过SQL练习,您将学习如何创建和管理数据库、定义表结构、插入、更新和删除数据,以及执行高级查询和优化操作。这些技能对于数据库管理、数据分析和软件开发非常重要。

数据分析和报告:SQL是数据分析的重要工具之一。通过使用SQL查询,您可以从数据库中提取所需的数据,进行各种聚合和计算,生成有关数据的报告和可视化结果。这对于业务分析、决策支持和报告编制非常有帮助。

职业发展:SQL是广泛使用的技能,对于从事数据管理、数据分析、软件开发和相关领域的专业人士来说,具备SQL技能是非常有竞争力的优势。通过练习SQL,您可以提高自己在职场中的市场价值,并为职业发展打下坚实的基础。

效率和准确性:使用SQL查询可以更快速、更准确地访问和处理大量数据。通过练习SQL,您可以学习和应用各种查询技巧和优化策略,从而提高数据处理效率和准确性。

锻炼逻辑思维:SQL查询涉及到逻辑思维和问题解决能力。通过练习SQL,您将锻炼自己的逻辑思维能力,学习如何将问题转化为有效的SQL查询,提高自己的解决问题的能力。

掌握常用工具:SQL是许多流行数据库管理系统的标准语言,包括MySQL、Oracle、Microsoft SQL Server等。通过进行SQL练习,您将熟悉和掌握这些常用数据库管理系统的操作和工具,为实际项目开发和工作做好准备。

总的来说,SQL练习可以帮助您熟悉SQL语言、提高数据库管理和数据分析技能、促进职业发展,并锻炼逻辑思维能力。无论您是初学者还是有经验的开发人员,进行SQL练习都是非常有益

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

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

相关文章

学号编码:TooY0ung的学院(结构体)

根据66十二位编码规则,用城市代码和出生年编制学号。 【本笔记适合初通算法的 coder 翻阅】 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础…

Web-文件上传漏洞总结

目录 1、常规前端绕过 2、修改文件类型 3、使用 .user.ini 或 .htaccess(可能还存在大小写绕过) 4、使用字典爆破可行后缀 5、结合文件包含漏洞使用图片马 6、条件竞争 1、常规前端绕过 如下图,在前端存在限制,只能上传图片…

springboot校园点餐小程序

校园点餐系统 springboot校园点餐系统小程序 java校园点餐小程序 技术: 基于springbootvue小程序校园点餐系统的设计与实现 运行环境: JAVA版本:JDK1.8 IDE类型:IDEA、Eclipse都可运行 数据库类型:MySql(…

GPT模型训练实践(2)-Transformer模型工作机制

Transformer 的结构如下,主要由编码器-解码器组成,因为其不需要大量标注数据训练和天然支持并行计算的接口,正在全面取代CNN和RNN: 扩展阅读:What Is a Transformer Model? ​ ​ 其中 编码器中包含自注意力层和前馈…

HCIA回顾笔记整理

OSI 7层参考模式 开放式系统互联参考模型 应用层 抽象语言--> 编码 表示层 编码-->二进制 会话层 提供应用程序地址 -- 无标准 上三层,应用程序加工数据的部分 下四层,数据流层 负责数据传输 传输层 数据分段(…

Hive基础知识

1.Hive简介 Hive是由Facebook开源用于解决海量结构化日志的数据统计工具。Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。 2.Hive本质 Hive的本质是将HQL转化成MapReduce程序。 Hive处理的数据存储在H…

Git远程操作

目录 分布式版本控制系统 远程仓库 新建远程仓库 管理仓库 issue Pull Request 克隆远程仓库到本地 向远程仓库推送 拉取远程仓库 配置git 忽略特殊文件 给命令配置别名 分布式版本控制系统 我们之前所说的所有内容,都是在本地,也就是只在你的…

Java——抽象类和接口

一、抽象类 1.1、抽象类 使用abstract关键字定义的类称为抽象类 public abstract class Employee {private String name;private int number; }在 Java中抽象类不可以实例化为对象。例如: 1.2、抽象方法 使用abstract关键字定义的方法称为抽象方法。抽象方法没…

IDEA自动导入包

问题 IDEA如何自动导入包 详细问题 项目开发中,笔者常常先将光标瞄准所需导入的类,后使用快捷键AltEnter进行导包操作。这种方式需要逐个处理,相对费事费力,IDEA如何自动导入所有程序所涉及的包呢 解决方案 1、左上角 F i l …

基于Elman神经网络的电力负荷预测(附源码)

一、算法原理 Elman神经网络是一种典型的动态递归神经网络,它是在BP网络基本结构的基础上,在隐含层增加一个承接层,作为一步延时算子,达到记忆的目的,从而使系统具有适应时变特性的能力,增强了网络的全局稳…

2017年全国硕士研究生入学统一考试管理类专业学位联考逻辑试题——纯享题目版

🏠个人主页:fo安方的博客✨ 💂个人简历:大家好,我是fo安方,考取过HCIE Cloud Computing、CCIE Security、CISP、RHCE、CCNP RS、PEST 3等证书。🐳 💕兴趣爱好:b站天天刷&…

碳排放预测模型 | Python实现基于SVR支持向量机回归的碳排放预测模型

文章目录 效果一览文章概述研究内容源码设计参考资料效果一览 文章概述 碳排放预测模型 | Python实现基于SVR支持向量机回归的碳排放预测模型 研究内容 碳排放被认为是全球变暖的最主要原因之一。 该项目旨在提供各国碳排放未来趋势的概述以及未来十年的全球趋势预测。 其方法是…

Quiz 16_3-1: Databases | Python for Everybody 配套练习_解题记录

文章目录 Python for Everybody课程简介Quiz 16_3-1: Databases单选题(1-11)操作题Autograder: Single Table SQL Python for Everybody 课程简介 Python for Everybody 零基础程序设计(Python 入门) This course aims to teach …

CS CK VT系列贴片型铝电解电容器特点

CS CK VT系列贴片型铝电解电容器就是宽温通用品,也就说电性和RVT贴片电解电容器和RST贴片电解电容器一样,105℃2000小时寿命,用于消费类电子。偶尔CS贴片电解电容器,CK贴片电解电容器和VT贴片电解电容器会有缩体产品。

菜鸡shader:L6 人物材质基础模型以及三种透明特效AC、AB和AD

文章目录 人物材质基础模型unity练练看实现代码实现最后效果 透明特效AC效果展示 AB效果展示 AD效果展示 自定义混合模式效果展示 人物材质基础模型 这里是老师布置的作业,要求把之前学过的所有模型都组合起来,组成一个基本的人物材质模型。这里在上作业…

基于安卓的接的快接单平台/基于Android的快的接单平台

【摘要】 随着互联网的趋势的到来,各行各业都在考虑利用互联网将自己的信息推广出去,最好方式就是建立自己的平台信息,并对其进行管理,随着现在智能手机的普及,人们对于智能手机里面的应用接的快接单平台也在不断的使用…

设计模式学习之模板方法模式

设计模式系列往期文章 设计模式学习之策略模式设计模式学习之策略模式在前端的应用设计模式学习之简单工厂模式设计模式学习之工厂方法模式设计模式学习之抽象工厂模式设计模式学习之策略模式和简单工厂模式的对比设计模式学习之观察者模式 模板方法模式是行为型设计模式的一…

获取Alibaba Nacos控制台管理权限

人活着,就得随时准备经受磨难。他已经看过一些书,知道不论是普通人还是了不起的人,都要在自己的一生中经历许多磨难。 磨难使人坚强。 漏洞复现 访问漏洞url 输入默认账号密码:nacos/nacos 成功获取Alibaba Nacos控制台管理权…

全面揭秘!火山引擎边缘 IaaS 混合部署架构实践

2023年6月16日-17日 51CTO WOT全球技术创新大会在北京成功举办。在快速发展的数字化时代,云计算和边缘计算作为科技领域的两大核心驱动力,正引领着全球技术变革的潮流。为了探讨云时代基础设施在科技发展中的关键作用,推动边缘云行业的进一步…

【夏虫语冰】Office操作技巧汇总

文章目录 1、Word技巧1.1 添加题注 2、Visio技巧2.1 快捷键2.2 格式刷 结语 1、Word技巧 1.1 添加题注 在 Word 中添加、删除标题或设置其格式: 可以为图表、公式或其他对象添加题注。 题注是带编号的标签,可将其添加到图表、表格、公式或其他对象。 …