MYSQL 语句一起 OR 和 AND

标签 mysql sql

我在 MySQL 中有一个名为 sale 的表,其中有 3 列,如下所示: 销售:

id|customers|type

我想选择 type!=2 的销售或 type=2 且客户!=0 的 sales

我这样写声明:

sale.type != 2 OR (sale.type = 2 AND sale.customers != 0 )

但它没有给我正确的行。

此外,我必须对这个查询中的其他列使用 AND ,但所有列之间的运算符是 AND ,只是在这里我使用 OR 。

最佳答案

只要记住这条规则:将 OR 括起来!

where foo = 'bar'
and (sale.type != 2 OR (sale.type = 2 AND sale.customers != 0 ) )
and blah = 3

其实你的情况可以简化为:

( sale.type != 2 OR sale.customers != 0 ) 

因为逻辑上检查 sale.type = 2 是多余的。

关于MYSQL 语句一起 OR 和 AND,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15896574/

相关文章:

php - 尝试将字段插入到数据库表中,但出现错误 "Object Not Found"

php - 我可以创建一个需要使用多个表中的多个变量来计算其变量的 View 吗?

mysql - 查找列最完整的记录

java - 将项目从一个表重新插入到另一个表的 SQL 逻辑?例如, Activity 记录变为非 Activity 记录

mysql - 在嵌套子查询中引用表

MySQL:计算子查询的结果并仍然使用它返回的集合

php - 执行查询没有结果也没有错误

php - 在mysql中将日期插入数据库

mysql - 在 sql 查询中使用常量

sql - 在一个查询中实现多个排序和限制