mysql SELECT超过1个OR

时间:2013-03-17 15:27:46

标签: mysql sql select operator-precedence

我正在尝试通过执行user1和user2来进行numrows查询以查看用户是否与其他用户成为朋友。

这是我的查询,但这不起作用。

SELECT * FROM friends 
WHERE friend1 = USER_ID
AND friend2 = FRIEND
OR
WHERE friend1 = FRIEND
AND friend2 = USER_ID

因此查询检查是以两种方式查看它,从前到后,如何实现这一点。

2 个答案:

答案 0 :(得分:6)

在SQL语句中只能有一个WHERE,所以你想要使用类似的东西:

SELECT * 
FROM friends 
WHERE 
(
  friend1 = USER_ID
  AND friend2 = FRIEND
) 
OR
(
  friend1 = FRIEND
  AND friend2 = USER_ID
) 

由于运算符优先级,不需要括号,为清楚起见,我使用了括号。

答案 1 :(得分:-3)

你用括号试了吗?

SELECT * FROM friends WHERE (friend1 = USER_ID AND friend2 = FRIEND) OR (WHERE friend1 = FRIEND AND friend2 = USER_ID)