MySQL 中“AND”和“&&”的区别?
注意:AND 和 && 之间只有一个区别,即 AND 是一种标准语法,而 && 是所有权语法。
除上述语句外,AND 和 && 之间没有任何区别。让我们看看所有的条件。
AND 和 && 的结果总是 1 或 0。众所周知,AND 和 && 都是逻辑运算符,如果有多个操作数且任意其中一个值为 0,则结果为 0,否则为 1。
这里是 AND 和 && 的演示。
情况 1(a):如果两个操作数都是1。使用AND。
查询如下:
mysql> select 1 AND 1 as Result;登录后复制
+--------+ | Result | +--------+ | 1 | +--------+ 1 row in set (0.00 sec)登录后复制登录后复制
查询如下:
mysql> select 1 && 1 as Result;登录后复制
+--------+ | Result | +--------+ | 1 | +--------+ 1 row in set (0.00 sec)登录后复制登录后复制
查询如下:
mysql> select 1 AND 0 as Result;登录后复制
+--------+ | Result | +--------+ | 0 | +--------+ 1 row in set (0.00 sec)登录后复制登录后复制
查询如下:
mysql> select 1 && 0 as Result;登录后复制
+--------+ | Result | +--------+ | 0 | +--------+ 1 row in set (0.00 sec)登录后复制登录后复制
情况3(a):如果任何一个操作数为NULL,则结果变为NULL。使用AND。
查询如下:
mysql> select NULL AND 1 as Result;登录后复制
+--------+ | Result | +--------+ | NULL | +--------+ 1 row in set (0.00 sec)登录后复制登录后复制
查询如下:
mysql> select NULL && 1 as Result;登录后复制
+--------+ | Result | +--------+ | NULL | +--------+ 1 row in set (0.00 sec)登录后复制登录后复制
看看负数的情况。查询如下:
mysql> select -10 AND -30 as Result; +--------+ | Result | +--------+ | 1 | +--------+ 1 row in set (0.04 sec) mysql> select -10 && -30 as Result; +--------+ | Result | +--------+ | 1 | +--------+ 1 row in set (0.00 sec)登录后复制
mysql> select -10 AND 0 as Result; +--------+ | Result | +--------+ | 0 | +--------+ 1 row in set (0.00 sec)登录后复制
mysql> select 10 AND 30 as Result; +--------+ | Result | +--------+ | 1 | +--------+ 1 row in set (0.00 sec) mysql> select 10 && 30 as Result; +--------+ | Result | +--------+ | 1 | +--------+ 1 row in set (0.00 sec)登录后复制
mysql> select 10 and 0 as Result; +--------+ | Result | +--------+ | 0 | +--------+ 1 row in set (0.00 sec) mysql> select 10 && 0 as Result; +--------+ | Result | +--------+ | 0 | +--------+ 1 row in set (0.00 sec)登录后复制