力扣数据库题库学习(4.26日)

1527. 患某种疾病的患者

问题链接

思路与题解

题目要求:

查询患有 I 类糖尿病的患者 ID (patient_id)、患者姓名(patient_name)以及其患有的所有疾病代码(conditions)。I 类糖尿病的代码总是包含前缀 DIAB1 。按 任意顺序 返回结果表。

这个题目要求就是让我们查询字段conditions,选择出值内数据包含前缀 DIAB1的数据。

匹配指定字符串,我们可以使用正则,构造正则表达式,并匹配数据。

这个题目的正则表达式是前缀为DIAB1== 单词开头是DIAB1而不是单词内包含DIAB1 ,这里匹配单词的开头

正则表达式如下:

sql 复制代码
'(^|\\s)DIAB1\\S*'
复制代码
\\b 是一个单词边界的元字符,它确保我们匹配的是一个单词的开始。
DIAB1 是我们要匹配的具体字符串,表示以 "DIAB1" 开头的疾病条件。
.* 表示匹配零个或多个任意字符。这意味着我们不仅匹配以 "DIAB1" 开头的字符串,而且匹配该字符串后的任意字符序列。

题目的完整sql代码如下:

sql 复制代码
SELECT patient_id, patient_name, conditions
FROM Patients
WHERE conditions REGEXP '\\bDIAB1.*';
相关推荐
Eiceblue6 分钟前
Python读取PDF:文本、图片与文档属性
数据库·python·pdf
moxiaoran57532 小时前
uni-app学习笔记三十--request网络请求传参
笔记·学习·uni-app
嘉陵妹妹2 小时前
深度优先算法学习
学习·算法·深度优先
GalaxyPokemon3 小时前
LeetCode - 53. 最大子数组和
算法·leetcode·职场和发展
乖乖是干饭王3 小时前
Linux系统编程中的_GNU_SOURCE宏
linux·运维·c语言·学习·gnu
敖云岚3 小时前
【Redis】分布式锁的介绍与演进之路
数据库·redis·分布式
hn小菜鸡3 小时前
LeetCode 1356.根据数字二进制下1的数目排序
数据结构·算法·leetcode
zhuiQiuMX3 小时前
分享今天做的力扣SQL题
sql·算法·leetcode
LUCIAZZZ3 小时前
HikariCP数据库连接池原理解析
java·jvm·数据库·spring·springboot·线程池·连接池
我在北京coding4 小时前
300道GaussDB(WMS)题目及答案。
数据库·gaussdb