SELECT * FROM table WHERE (a!=1 AND b!=2)
如何在同一时间内选择a
不是1
且b
不是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
)
答案 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的安全不等式运算符。