0

在 sql 表中,我有字段:名称描述语言

我的语言字段具有以下值:“en-GB”或“fr-FR”。

SELECT * FROM items WHERE `name` LIKE '%yellow%' OR `description` LIKE '%yellow%' AND `language` = 'en-GB';

搜索词黄色的结果是可以的。但我也得到了具有语言 fr-FR 的结果,但在我的查询中我设置为语言en-GB

我在w3c上搜索过查询,我认为带有“like”的部分是正确的。

我在这里做错了什么?

4

3 回答 3

1

使用括号

SELECT * FROM items 
WHERE (`name` LIKE '%yellow%' OR `description` LIKE '%yellow%') AND `language` = 'en-GB';
于 2013-10-22T08:48:52.860 回答
1

您需要使用括号,因为首先评估“OR”操作,而您期望“AND”操作符是。

SELECT   * 
FROM     items 
WHERE    (`name` LIKE '%yellow%' OR `description` LIKE '%yellow%') 
    AND  `language` = 'en-GB'
于 2013-10-22T08:50:23.617 回答
0

走到language哪里

SELECT * FROM items WHERE `language`='en-GB' AND (`name` LIKE '%yellow%' OR `description` LIKE '%yellow%');
于 2013-10-22T08:52:13.223 回答