喜欢......而不是... sql

时间:2016-05-26 14:30:30

标签: mysql sql sql-like

我正在创建一个查询,其中我从多个表中选择数据,但是,我不想选择我的用户当前正在查看的条目。我已经使用AND NOT语法在其他查询中完成了这个但是当与LIKE结合使用时,我仍然返回我不寻找的行?

运行时语法没有错误但仍然不正确。这是我的询问。

SELECT id AS num, mix_title AS title, table_type AS type, header, post_date, counter 
FROM mixes
WHERE keywords LIKE ('%#workout%')
   OR keywords LIKE ('%#drunk_fairy%')
 AND NOT id='1'

我希望上面的代码返回所有LIKE行,但不是id等于1的地方。

如果已经有人问过道歉,我不太确定如何提出这个问题,谢谢。

1 个答案:

答案 0 :(得分:5)

您必须使用括号,因为AND优先于OR

SELECT id AS num, mix_title AS title, table_type AS type, 
       header, post_date, counter 
FROM mixes 
WHERE (keywords LIKE ('%#workout%') OR keywords LIKE('%#drunk_fairy%'))
      AND NOT id='1'