我不确定为什么这个结构不起作用。这是我第一次使用postgres,并希望有人可以帮助我。
SELECT * FROM "friends" WHERE "from" = '1' OR "to" = '1' AND "status" = '1'
它返回所有值,其中"来自"是= 1和"到" = 1而不是一个或另一个" status"是= 1
我希望这不会让人感到困惑。
感谢。
答案 0 :(得分:3)
OR运算符的优先级低于AND [1]。结果,表达式评估如下:
(
"from" = '1'
)
OR
(
"to" = '1'
AND
"status" = '1'
)
你可能想要的是:
SELECT * FROM "friends" WHERE ("from" = '1' OR "to" = '1') AND "status" = '1'