mysql SELECT 超过 1 个或

标签 mysql sql select operator-precedence

我正在尝试通过执行 user1 和 user2 进行 numrows 查询以查看用户是否是其他用户的 friend 。

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

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

所以查询正在检查以从后到前的两种方式查看它,我如何才能做到这一点。

最佳答案

在一个 SQL 语句中你只能有一个 WHERE,所以你会想要使用像这样的东西:

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

由于运算符的优先级,括号不是必需的,为了清楚起见,我使用了它们。

关于mysql SELECT 超过 1 个或,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15462507/

相关文章:

在一个查询中的两个连接上选择两个计数

mysql - 在 MySQL 查询中比较整数与字符串时出错 (1 = '1sk' )

php - MySQL复杂查询。基于另一个表动态更新行

php - MySQL在一个ID下连接多行

mysql - 正确的 mysql 查询到 db

计数子句中的 SQL CASE 语句

javascript - sql 查询或 javascript 代码来计算数据库中的月数并将其乘以 laravel 中的总值

java - 如何使用java正则表达式将查询列表sql转换为查询计数sql

mysql - SQL SELECT 不是数字但可以为 NULL

php - 将私有(private)消息 'body' 字段存储在单独的表中以提高速度