ホームページ >データベース >mysql チュートリアル >MySQL の「AND」と「&&」の違いは何ですか?
注: AND と && の違いは 1 つだけです。つまり、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)
ケース 1(b): 両方のオペランドが 1 の場合。使用&&。
クエリは次のとおりです:
mysql> select 1 && 1 as Result;
出力結果は次のとおりです:
+--------+ | Result | +--------+ | 1 | +--------+ 1 row in set (0.00 sec)
ケース 2(a): いずれかのオペランドが 0 の場合の場合、結果は 0 になります。 AND を使用します。
クエリは次のとおりです:
mysql> select 1 AND 0 as Result;
出力結果は次のとおりです:
+--------+ | Result | +--------+ | 0 | +--------+ 1 row in set (0.00 sec)
ケース 2(b): いずれかのオペランドが 0 の場合の場合、結果は 0 になります。使用&&。
クエリは次のとおりです:
mysql> select 1 && 0 as Result;
出力結果は次のとおりです:
+--------+ | Result | +--------+ | 0 | +--------+ 1 row in set (0.00 sec)
これは null 値の状況です。
ケース 3(a): いずれかのオペランドが NULL の場合、結果は NULL になります。 AND を使用します。
クエリは次のとおりです:
mysql> select NULL AND 1 as Result;
出力結果は次のとおりです:
+--------+ | Result | +--------+ | NULL | +--------+ 1 row in set (0.00 sec)
ケース 3(b): いずれかのオペランドが NULL の場合の場合、結果は NULL になります。使用&&。
クエリは次のとおりです:
mysql> select NULL && 1 as Result;
出力は次のとおりです:
+--------+ | Result | +--------+ | NULL | +--------+ 1 row in set (0.00 sec)
注: 上記の状況は 1 と 0 だけに依存するわけではありません。ゼロ以外の値はすべて true になります。つまり、2 つの負の数値を AND または && すると、結果は 1 になります。
負の数の状況を見てください。クエリは次のとおりです。
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)
上記の場合、いずれかの値が 0 の場合、AND と && の両方の結果は 0 になります。クエリは次のとおりです。
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)
このうち、いずれかのオペランドが 0 になると、結果は 0 になります。クエリは次のとおりです:
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)
以上がMySQL の「AND」と「&&」の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。