力扣数据库题库学习(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.*';
相关推荐
姚远Oracle ACE5 分钟前
Oracle 如何计算 AWR 报告中的 Sessions 数量
数据库·oracle
墨染点香13 分钟前
LeetCode 刷题【138. 随机链表的复制】
算法·leetcode·链表
Thexhy19 分钟前
在 CentOS 7 的 Linux 系统中配置 NFS
linux·运维·学习·centos
Dxy123931021635 分钟前
MySQL的SUBSTRING函数详解与应用
数据库·mysql
码力引擎41 分钟前
【零基础学MySQL】第十二章:DCL详解
数据库·mysql·1024程序员节
杨云龙UP1 小时前
【MySQL迁移】MySQL数据库迁移实战(利用mysqldump从Windows 5.7迁至Linux 8.0)
linux·运维·数据库·mysql·mssql
l1t1 小时前
利用DeepSeek辅助修改luadbi-duckdb读取DuckDB decimal数据类型
c语言·数据库·单元测试·lua·duckdb
安当加密1 小时前
Nacos配置安全治理:把数据库密码从YAML里请出去
数据库·安全
CodeLongBear1 小时前
计算机网络学习笔记 | 传输层核心知识点总结(DAY03,匠心制作)
笔记·学习·计算机网络
ColderYY2 小时前
Python连接MySQL数据库
数据库·python·mysql