ホームページ >データベース >mysql チュートリアル >MySQL の「AND」と「&&」の違いは何ですか?

MySQL の「AND」と「&&」の違いは何ですか?

WBOY
WBOY転載
2023-08-28 19:57:06993ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。