用LIKE而不是等于Postgres查询

时间:2016-05-16 18:11:11

标签: postgresql

我试图用LIKE和!=条件编写查询:

SELECT * 
FROM   posts 
WHERE  title LIKE 'term%' 
  OR   NAME LIKE 'term%' 
 AND   post_type != 'type'; 

但是,查询结果未被post_type过滤。我的语法有问题吗?

1 个答案:

答案 0 :(得分:11)

您可能需要括号,因为AND具有运算符优先级。

SELECT * 
FROM   posts 
WHERE  ( title LIKE 'term%' OR NAME LIKE 'term%' )
  AND    post_type != 'type';

因为现在没有括号,你有

SELECT * 
FROM   posts 
WHERE  title LIKE 'term%' 
  OR   (       NAME LIKE 'term%' 
         AND   post_type != 'type' );