MySQL都不等于

时间:2017-08-06 23:58:00

标签: mysql sql

SELECT * FROM table WHERE (a!=1 AND b!=2)

如何在同一时间内选择a不是1b不是2的所有行?

那就是 - 在PHP中它是($a!=1 && $b!=2),例如带来行

a=1, b=6,
a=5, b=2,
...

(但不是a=1, b=2

我得到的MySQL等于PHP的$a!=1 && $b!=2(同样没有括号),带来像

这样的行
a=7, b=9,
a=4, b=0,
...

(但绝不是a=1,绝不是b=2

1 个答案:

答案 0 :(得分:0)

根据您的示例,您需要or,而不是and

SELECT t.*
FROM table t
WHERE a <> 1 OR b <> 2;

虽然MySQL(和其他数据库)支持!=不等式,但标准是=。如果您想允许NULL值,则可能需要:

SELECT t.*
FROM table t
WHERE a <=> 1 OR b <=> 2;

<=>是一个NULL - 特定于MySQL的安全不等式运算符。