MYSQL练题笔记-高级字符串函数 / 正则表达式 / 子句-简单3题

这个系列先写了三题,比较简单写在一起。

1.修复表中的名字相关的表和题目如下

看题目就知道是有关字符串函数的,于是在书里查询相关的函数,如下图,但是没有完全对口的函数,所以我还是去百度了。

然后发现结合上面的4个函数和一个length()即可,就是Concat(),upper(),left(),lower(),right(),length(),构成语句如下。

Concat(upper(left(name,1)),lower(right(name,length(name)-1)))

注意的是括号要先输入好,不然容易出错,我的题解如下:

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

看其他的题解不同的是第二个部分,小写部分使用的函数不同,通过**lower(substring(name,2))**表示从第二个字符开始截取字符串。

2.患某种疾病的患者相关的表和题目如下

很明显是使用正则表达式,关键字为regexp,包含DIAB1的conditions,题目里说这是开头,但是conditions有多个代码,I 类糖尿病的代码又不一定在开头。我测试的代码如下

select patient_id,patient_name,conditions from patients where conditions regexp 'DIAB1';

好吧运行时对的但是提交的时候错了,因为可能DIAB1这个代码有可能是其他的病的代码的中间或者结尾,还是看题解吧,题解如下:

select * from patients where conditions like 'DIAB1%' or conditions like '% DIAB1%';

这里不能使用正则表达式第二个like我刚开始时有疑问的,因为提交的时候的测试示例有一个condition为SADIAB1100的,但是如果有一个ADIAB1100的测试示例的话,这个语句是不满足的,

因为like模糊查询中的%代表的是某个字符的占位,这个语句只是现在能通过这个测试示例而已。

然后发现第二个like的第一个%后面有空格,没看清楚,仔细看下图。

3.删除重复的电子邮箱相关的表和题目如下

email这个字段相同的话,只留id最小的记录,其余比他大的,不管是两条还是三条都要删除。

我先想到的是连接,但是删除的话不确定怎么连接,还是老实看题解。

delete a from person a,person b where a.id>b.id and a.email=b.email;

即使知道这样的连接方式,但是我没想到a.id>b.id,就想着min(),大意了。

4.总结

这几题都挺简单的,但是都得知道相关的知识才能会,比如字符串函数concat()等,like模糊查询,这部分就不是mysql的基础知识了,算给用户拓展的工具的使用,还有之前的题目没接触的delete的语法。

相关推荐
极客小云4 分钟前
【从 while 循环到可视化智能体:深入拆解 Agent Loop、Codex 风格工具调用、OpenClaw 与 Hermes 背后的技术细节】
数据库·python·大模型·agent·codex·openclaw·hermes
这个DBA有点耶26 分钟前
分布式数据库的“分片键”设计:选错可能让性能倒退10倍
数据库·分布式
运维行者_32 分钟前
使用Applications Manager监控的关键MongoDB指标
服务器·开发语言·网络·数据库·mongodb·机器学习·云计算
GLDbalala34 分钟前
GPU PRO 5 - 2.3 Volumetric Light Effects in Killzone: Shadow Fall 笔记
笔记
一支黑色の铅笔35 分钟前
MongoDB Aggregation Pipeline 常用 Stage 速查
数据库·算法·mongodb
豆豆42 分钟前
从SaaS到自建CMS的选型复盘:一个专注网站开发的技术选型笔记
笔记·cms·建站系统·内容管理系统·网站管理系统·建站软件·建站工具
WangX-西石油42 分钟前
DVWA靶场上Low级别SQL注入漏洞学习
sql·网络安全
霖霖总总1 小时前
[MongoDB小技巧02] 掌握 MongoDB 基础:容器化部署、默认配置与 mongosh 核心命令全解析
数据库·mongodb
2501_915106321 小时前
深入解析HTTPS抓包原理、中间人攻击及反抓包技术攻防
数据库·网络协议·ios·小程序·https·uni-app·iphone
迷枫7121 小时前
DM8 数据共享集群 DSC 学习总结:共享存储、集群组件与常见误区
数据库·学习