写立扣mysql题目收获

练习大纲:

立扣上的sql语句题

学习中的易错点和有趣的题目

总结了下常用的关键词和技巧

  1. SELECT: 用于选择要检索的列。
  2. FROM: 用于指定要查询的表。
  3. WHERE: 用于过滤行,只返回满足条件的行。
  4. GROUP BY: 用于将结果集按一列或多列分组。
  5. HAVING: 与GROUP BY一起使用,用于过滤分组后的结果集。
  6. ORDER BY: 用于对结果集进行排序。
  7. LIMIT: 用于限制结果集的行数。
  8. JOIN: 用于在多个表之间建立连接。
  9. LEFT JOIN (OUTER JOIN): 返回左表中所有的行,以及右表中匹配的行。如果右表中没有匹配的行,将返回NULL。
  10. INNER JOIN: 返回两个表中匹配的行。
  11. ON: 用于指定JOIN条件。
  12. AND, OR: 用于组合多个条件。
  13. DISTINCT: 用于返回唯一不同的值。
  14. LIKE: 用于在WHERE子句中进行模糊搜索。
  15. IN: 用于指定条件范围,类似于多个OR条件的缩写。
  16. BETWEEN: 用于指定范围。
  17. AS: 用于为列或表指定别名。
  18. ASC (升序) / DESC (降序): 用于指定排序顺序。
  19. NOT NULL: 用于过滤出不包含NULL值的行。
  20. SET: 用于更新表中的数据。
  21. COUNT(): 用于计算结果集中行的数量。
  22. SUM() / AVG() / MIN() / MAX(): 用于计算列的总和、平均值、最小值和最大值。
  23. GROUP_CONCAT(): 用于将组内行的值连接为一个字符串。
  24. if(判断条件 ,为真结果,为假结果),为真选前,为假选后。
  25. CASE WHEN …then…WHEN …then…:用于在查询中执行条件判断。
  26. UNION / UNION ALL: 用于合并两个或多个SELECT语句的结果集。UNION删除重复的行,而UNION ALL包含重复的行。
  27. INTERVAL 1 DAY :用于指定时间间隔,其目的是提供一种通用的方式来表示一段时间。使用 INTERVAL 语法的好处是它可以支持多种时间单位,如天、小时、分钟等。
  28. 求数据出现次数最多的技巧:order by count(*) desc limit 1; 统计次数并从大到小排序,只选第一条就是最大值了;
  29. 求数据值相加起来的合的技巧:正常就是一个sum,但当有其他前提,比如,小明在周2一共上了几次厕所这种,就需要group by name,day;做条件,懂了吧?
  30. ifnull:用法:ifnull(判断值,指定值),当判断的值为null时,转换为指定值,否则还是原值;

. - 力扣(LeetCode)

修复表中的名字

表: Users

+----------------+---------+
| Column Name    | Type    |
+----------------+---------+
| user_id        | int     |
| name           | varchar |
+----------------+---------+
user_id 是该表的主键(具有唯一值的列)。
该表包含用户的 ID 和名字。名字仅由小写和大写字符组成。

编写解决方案,修复名字,使得只有第一个字符是大写的,其余都是小写的。

返回按 user_id 排序的结果表。

思路:需要把name字段内容分开分析,分为首字母和剩余部分,首字母用upper方法大写,其余字母用lower方法小写,用concat方法拼接,而upper中需要用left(name,1)表示name的第一个字母,用right(name,length(name-1))表示name除第一个字母外的其余字母,完整拼接如下:

concat(upper(left(name,1)),lower(right(name,length(name)-1)))as name

完整语句如下:

select  user_id,
concat(upper(left(name,1)),lower(right(name,length(name)-1)))as name
from Users
order by user_id;

难点:知道concat,upper,left,right关键字的用法;

从中也能发现sql学习是建立在熟练使用关键字的基础上的!

有意思的题目:

变更性别

Salary 表:

+-------------+----------+
| Column Name | Type     |
+-------------+----------+
| id          | int      |
| name        | varchar  |
| sex         | ENUM     |
| salary      | int      |
+-------------+----------+
id 是这个表的主键(具有唯一值的列)。
sex 这一列的值是 ENUM 类型,只能从 ('m', 'f') 中取。
本表包含公司雇员的信息。

请你编写一个解决方案来交换所有的 'f''m' (即,将所有 'f' 变为 'm' ,反之亦然),仅使用 单个 update 语句 ,且不产生中间临时表。

熟练一眼就能看出答案,但如果不知道if这个关键字就会很麻烦

update Salaryset sex=if(sex='f','m','f');

607. 销售员 - 力扣(LeetCode)

这个挺好玩

可以直接多个join…on-把表都连接起来,再用not in查询不在范围内的,即

select name from SalesPerson where name not in
(select SalesPerson.name as name from SalesPerson 
join Orders on Orders.sales_id=SalesPerson.sales_id
join Company on Company.com_id=Orders.com_id
where Company.name='RED') 

也可以用多个where,select一步步查询,即

select name from SalesPerson where sales_id not in 
(select sales_id from orders where com_id in 
(select com_id from company where name='RED'));

这些只是写了30多道题总结的,只后会更新关键字,直到刷完100题~!

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

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

相关文章

《剑指 Offer》专项突破版 - 面试题 29 : 排序的循环链表(C++ 实现)

题目链接:LCR 029. 循环有序列表的插入 - 力扣(LeetCode) 题目: 在一个循环链表中节点的值非递减排序,请设计一个算法在该循环链表中插入节点,并保证插入节点之后的循环链表仍然是排序的。 分析&#xf…

Java集合(List集合)

什么是集合? 什么是集合?集合就是“由若干个确定的元素所构成的整体”,在程序中,一般代表保存 若干个元素(数据)的某种容器类。 在Java中,如果一个Java对象可以在内部持有(保存&…

Windows无法访问github解决方案

方案一 步骤1: 进入 C:\Windows\System32\drivers\etc 路径下 步骤2: 复制 hosts文件到桌面 步骤3: 在复制好的文件最后加上 140.82.114.4 github.com 199.232.69.194 github.global.ssl.fastly.net步骤4: 将修改好的文件替换…

2d关键点可视化 coco转h36m人体关键点

目录 coco转h36m人体关键点 opencv 2d关键点可视化 coco转h36m人体关键点 mhformer中有 def h36m_coco_format(keypoints, scores):assert len(keypoints.shape) 4 and len(scores.shape) 3h36m_kpts []h36m_scores []valid_frames []for i in range(keypoints.shape[…

Soul CEO张璐团队布局AIGC领域,打造数智化社交新体验

作为互联网社交领域的领军企业,Soul App近日再次受到广泛关注,因其在生成式人工智能(AIGC)领域的前沿布局和创新。随着数据积累、算力提升和算法不断迭代,AIGC技术正逐渐成为推动产业创新的重要工具之一。2023年被誉为AIGC元年,而Soul App在CEO张璐的带领下,在这个领域的不懈努…

计算CNN卷积层和全连接层的参数量

计算CNN卷积层和全连接层的参数量 先前阅读 CNN ExplainerA Comprehensive Guide to Convolutional Neural Networks — the ELI5 way 本文主旨意在搞明白2个问题: 第一个问题 一个卷积操作,他的参数,也就是我们要训练的参数,也…

快速添加Android seLinux权限

selinux 权限问题中90%的场景都是在补足缺少的权限,下面的通用方法主要用来解决我们在日志中获取到 avc denied 的问题: 首先获取avc的打印信息,可以通过 logcat | grep avc 获取,假设有如下日志: type1400 audit(0.…

常见逻辑漏洞

挖掘重点: 业务流程和HTTP/HTTPS请求篡改 支付漏洞和越权漏洞是金融业务中常见的 支付漏洞 (1) 密码重置 验证码直接在HTTP响应中返回; 验证码未绑定用户,没和手机号和邮箱号做匹配验证; 未校验用户字段值,改自…

Navigation 2 学习01 介绍及安装及运行示例

Navigation 2 是什么 Nav2 是 ROS 导航 的综合控制服务,类似人类的小脑控制人类的行走及身体平衡,Nav2 针对移动和地面机器人提供支持的自动驾驶车辆的相同类型的技术,经过优化和改造。该项目旨在找到一种安全的方法,使移动机器人…

nginx离线部署-aarch64架构

nginx离线部署-aarch64架构 服务器环境: 架构:aarch64, 系统:Red Hat (CentOS 7) nginx 1.24 需要准备这些: 可以先尝试安装 Nginx 安装NGINX 内网是没有网络的需要使用 RPM 包安装 gcc, g…

USART通讯

提示:文章 文章目录 前言一、背景二、 2.1 2.2 总结 前言 前期疑问: 1、一开始没有搞明白到底是USART还是UART。 2、其中还涉及到一个同步的概念。同步就是是否有时钟线同步。USART是串口同步异步发送接收器。USART没有时钟线是怎么实现同步的。 3、…

服务器上面安装nodejs react

1、nvm管理nodejs 2、修改端口 /node_modules/react-scripts/scripts/start.js // 这是start.js部分源码 const DEFAULT_PORT parseInt(process.env.PORT, 10) || 3000; const HOST process.env.HOST || 0.0.0.0;// 将3000修改自己需要的端口号 const DEFAULT_PORT parseIn…

KMP字符串匹配算法

介绍: KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。KMP算法的核心是利用匹配失败后的信息,尽量减少…

绘制太极图 - 使用 PyQt

大家好!今天我们将一起来探讨一下如何使用PyQt,这是一个强大的Python库,来绘制一个传统的太极图。这个图案代表着古老的阴阳哲学,而我们的代码将以大白话的方式向你揭示它的奥秘。 PyQt:是什么鬼? 首先&a…

C# 中的接口

简介 官方说明:接口定义协定。 实现该协定的任何 class 或 struct 必须提供接口中定义的成员的实现。 接口可为成员定义默认实现。 它还可以定义 static 成员,以便提供常见功能的单个实现。 从 C# 11 开始,接口可以定义 static abstract 或 …

【AI-Pos系列】DeepLabCut 学习

level: nature neuroscience author:Alexander Mathis  1,2, Pranav Mamidanna1 , Kevin M. Cury3 , Taiga Abe3 , Venkatesh N. Murthy  2 , Mackenzie Weygandt Mathis  1,4,8* and Matthias Bethge1,5,6,7,8 date: 2018 keyword: quantifying behavior; pose estimation;…

超级胶水(第十一届蓝桥杯)

题目 小明有 n n n颗石子,按顺序摆成一排。他准备用胶水将这些石子粘在一起。 每颗石子有自己的重量,如果将两颗石子粘在一起,将合并成一颗新的石子,重量是这两颗石子的重量之和。 为了保证石子粘贴牢固,粘贴两颗石…

架构师之路(十六)计算机网络(传输层)

前置知识(了解):计算机基础。 作为架构师,我们所设计的系统很少为单机系统,因此有必要了解计算机和计算机之间是怎么联系的。局域网的集群和混合云的网络有啥区别。系统交互的时候网络会存在什么瓶颈。 既然网络层已经…

.net访问oracle数据库性能问题

问题: 生产环境相同的inser语句在别的非.NET程序相应明显快于.NET程序,执行时间相差比较大,影响正常业务运行,测试环境反而正常。 问题详细诊断过程 问题初步判断诊断过程: 查询插入慢的sql_id 检查对应的执行计划…

直播间流程解析基础

通过用户心理需求引导用户行为 贯穿内容和产品牵引想要和需要 直播间内流程解析 分为播前准备、开播暖场、产品介绍、穿插活动、结尾预告 (1)直播间内流程解析----播前准备 (2)直播间内流程解析----开播暖场 (3&…