如何在sql中组合OR,LIKE和AND?

时间:2016-12-03 15:40:29

标签: sql

我试图使用下面的查询,但它不起作用,它显示表中的所有数据库行。

有人请帮我解决我的问题。

SELECT * 
FROM table
WHERE interests LIKE  '%example%' 
  OR category LIKE  '%example%' 
  AND id=1

我想运行此查询但是id = 1。但它显示了与此查询相关的所有记录。

2 个答案:

答案 0 :(得分:1)

您必须()对表达式进行分组,然后将这些结果合并。

SELECT * 
FROM table
WHERE (interests LIKE  '%example%' OR category LIKE '%example%')
  AND id= '1'

答案 1 :(得分:1)

您的查询将按此执行

WHERE `interests` LIKE  '%example%' 
  OR (`category` LIKE  '%example%' AND `id`= '1') 

因为AND的优先级高于OR。使用括号来修复查询

WHERE (`interests` LIKE  '%example%' OR `category` LIKE  '%example%')
  AND `id`= '1'