答案是肯定的。MySQL 的 WHERE 子句本身就支援多條件組合,模糊查詢(LIKE)只是條件的一種形式,完全可以與精確匹配(=)、範圍查詢(>/<)、IN 等條件並用。
SELECT * FROM t_user
WHERE name = '張三'
AND sex LIKE '%妖%';
name = '張三':精確匹配姓名為「張三」的記錄。sex LIKE '%妖%':模糊匹配 sex 欄位包含「妖」字的記錄(% 代表任意長度字串)。AND 連接,表示同時滿足兩個條件。WHERE name = '張三' OR sex LIKE '%妖%'(滿足任一條件即可)。WHERE name LIKE '%張%' AND address LIKE '%北京%'。LIKE '%關鍵字%' 開頭帶萬用字元無法使用 B-Tree 索引,大資料量建議改用全文索引(FULLTEXT)或搜尋引擎(Elasticsearch)。結論:MySQL 完全支援在同一條 SQL 中混合使用精確條件與模糊條件,只需注意索引策略即可。