【发布时间】:2012-06-19 18:15:04
【问题描述】:
我一直认为您可以在LIKE 语句中使用OR 来查询MySQL 中的内容。因此,如果我想将一行中的多个字段与 1 个关键字或术语进行比较:
SELECT * FROM MyTable WHERE Column1 OR Column2 LIKE '%keyword%';
如果我有一组单词要比较:
SELECT * FROM MyTable WHERE Column1 OR Column2 LIKE '%keyword1%'
AND Column1 OR Column2 LIKE '%keyword2%';
但是,我不相信语法是正确的。除了类似以下内容之外,是否还有一种有效的方法来编写此内容:
SELECT * FROM MyTable WHERE Column1 LIKE '%keyword1%' OR Column2 LIKE
'%keyword1%' AND Column1 LIKE '%keyword2%' OR Column2 LIKE '%keyword2%';
我这样做对吗?
【问题讨论】:
-
我只是想知道你的“单词数组”算法......如果一列像一个单词并且如果一列像另一个,你确定要检索结果吗?对我来说似乎效率很低
-
关键字来自搜索字段,因此用户将希望根据多个字段搜索数据库。如果他们在搜索词中使用 2 个词,则在两列中搜索该词仍然有意义。我不想排除一个字段,因为它们可能包含多个相关词。