自学内容网 自学内容网

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

1527. 患某种疾病的患者

问题链接
问题图片

思路与题解

题目要求:
查询患有 I 类糖尿病的患者 ID (patient_id)、患者姓名(patient_name)以及其患有的所有疾病代码(conditions)。I 类糖尿病的代码总是包含前缀 DIAB1 。按 任意顺序 返回结果表。
这个题目要求就是让我们查询字段conditions,选择出值内数据包含前缀 DIAB1的数据。
匹配指定字符串,我们可以使用正则,构造正则表达式,并匹配数据。
这个题目的正则表达式是前缀为DIAB1== 单词开头是DIAB1而不是单词内包含DIAB1,这里匹配单词的开头
正则表达式如下:

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

题目的完整sql代码如下:

SELECT patient_id, patient_name, conditions
FROM Patients
WHERE conditions REGEXP '\\bDIAB1.*';

原文地址:https://blog.csdn.net/Jesse_Kyrie/article/details/138218291

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!