1527. 患某种疾病的患者
患者信息表: Patients
写一条 SQL 语句,查询患有 I 类糖尿病的患者 ID (patient_id)、患者姓名(patient_name)以及其患有的所有疾病代码(conditions)。I 类糖尿病的代码总是包含前缀 DIAB1 。
按任意顺序返回结果表。
查询结果格式如下示例所示。
此题解:
# Write your MySQL query statement below
select patient_id,patient_name,conditions
from patients
where conditions like "% DIAB1%" OR conditions like 'DIAB1%'
此题中用到了MySQL数据表中带LIKE的字符匹配查询LIKE关键字可以匹配字符串是否相等。
- 如果字段的值与指定的字符串相匹配,则符合查询条件,该记录将被查询出来。
- 如果与指定的字符串不匹配,则不符合查询条件。 基本的语法格式如下:
[NOT] LIKE ‘字符串’
NOT:可选。加上NOT表示与指定的字符串不匹配时满足条件。
字符串:指定用于匹配的字符串,该字符串必须加单引号或者双引号。
“字符串”参数的值可以是一个完整的字符串,也可以是包含百分号(%)或者下划线(_)的通配符。
注意%和_的区别:
- “%”表示任意长度的字符串,长度可以为0。例如,g%gle表示以字母g开头,以字母gle结尾的任意长度的字符串。g%gle可以表示ggle、gogle、gfgle、google、gusgle、gooooogle等。
- “__”只能表示单个字符。例如,g_gle表示以字母g开头,以字母gle结尾的5个字符。中间的“_”可以表示任意一个字符。g_gle可以表示gagle、gbgle、gcgle、gdgle或gogle等。