题目
患者信息表: Patients +--------------+---------+ | Column Name | Type | +--------------+---------+ | patient_id | int | | patient_name | varchar | | conditions | varchar | +--------------+---------+ patient_id (患者 ID)是该表的主键。 'conditions' (疾病)包含 0 个或以上的疾病代码,以空格分隔。 这个表包含医院中患者的信息。 写一条 SQL 语句,查询患有 I 类糖尿病的患者 ID (patient_id)、 患者姓名(patient_name)以及其患有的所有疾病代码(conditions)。I 类糖尿病的代码总是包含前缀 DIAB1 。 按 任意顺序 返回结果表。
解题1:LIKE
SELECT *
FROM Patients
WHERE conditions LIKE 'DIAB1%' OR conditions LIKE '% DIAB1%';
解题2:正则
SELECT *
FROM Patients
WHERE conditions REGEXP '^DIAB1|\\sDIAB1'
根据提供的SQL题目,目标是查询患者信息表中条件包含I类糖尿病代码(DIAB1开头)的患者ID、姓名及其所有疾病代码。解决方案包括使用LIKE操作符和正则表达式。两条SQL语句分别通过条件匹配和正则模式匹配来筛选出符合条件的患者数据。
287

被折叠的 条评论
为什么被折叠?



