SQL 查询优化:预约视图中筛选未生效疫苗并支持模糊搜索
SQL 查询优化:筛选未生效疫苗并支持模糊搜索
原始 SQL 语句:
SELECT *
FROM appointment_view a
WHERE vaccinum_name NOT IN
(SELECT name
FROM vaccinum
WHERE status = 1)
该语句用于从 appointment_view 视图中筛选出 vaccinum_name 不在 vaccinum 表中 status 为 1 的疫苗列表。
优化后的 SQL 语句:
为了满足模糊搜索需求,我们需要添加对 user_name 和 分 字段的模糊查询条件,并合并到原始语句中。
SELECT *
FROM appointment_view a
WHERE vaccinum_name NOT IN
(SELECT name
FROM vaccinum
WHERE status = 1)
AND (user_name LIKE '%keyword%' OR '分' LIKE '%keyword%')
优化说明:
- 使用
LIKE '%keyword%'实现对user_name和分字段的模糊搜索,其中keyword为用户输入的关键词。 - 使用
OR连接两个模糊查询条件,表示满足其中任意一个条件即可。
注意:
分字段在 SQL 语句中需要使用单引号包裹,因为它是中文。- 在实际应用中,需要根据具体的数据库类型和字段类型进行相应的调整。
总结:
本文展示了如何优化 SQL 查询语句,实现从预约视图中筛选未生效疫苗,并支持用户姓名和分区的模糊搜索。通过添加模糊查询条件和使用 LIKE 运算符,可以有效提高查询效率和用户体验。
原文地址: https://www.cveoy.top/t/topic/qcBY 著作权归作者所有。请勿转载和采集!