ホームページ  >  記事  >  データベース  >  RIGHT JOIN または LEFT JOIN クエリを作成するときにキーワード「RIGHT」または「LEFT」を使用しない場合、MySQL は何を返しますか?

RIGHT JOIN または LEFT JOIN クエリを作成するときにキーワード「RIGHT」または「LEFT」を使用しない場合、MySQL は何を返しますか?

WBOY
WBOY転載
2023-08-25 18:05:061178ブラウズ

如果我在编写 RIGHT JOIN 或 LEFT JOIN 查询时不使用关键字“RIGHT”或“LEFT”,MySQL 将返回什么?

どちらの場合も、クエリで「RIGHT」または「LEFT」キーワードが使用されていない場合、MySQL は結果を INNER JOIN クエリとして返します。これは、RIGHT、LEFT、および INNER JOIN の唯一の違いは RIGHT または LEFT キーワードであるためです。それを理解するために、次のデータを持つ tbl_1 と tbl_2 という名前の 2 つのテーブルの例を考えてみましょう -

mysql> Select * from tbl_1;
+----+--------+
| Id | Name   |
+----+--------+
| 1  | Gaurav |
| 2  | Rahul  |
| 3  | Raman  |
| 4  | Aarav  |
+----+--------+
4 rows in set (0.00 sec)

mysql> Select * from tbl_2;
+----+---------+
| Id | Name    |
+----+---------+
| A  | Aarav   |
| B  | Mohan   |
| C  | Jai     |
| D  | Harshit |
+----+---------+
4 rows in set (0.00 sec)

さて、キーワード RIGHT を使用した RIGHT JOIN のクエリは次のようになります -

mysql> SELECT tbl_1.id,tbl_2.id FROM tbl_1 RIGHT JOIN tbl_2 ON tbl_1.name = tbl_2.name;
+------+----+
| id   | id |
+------+----+
| 4    | A  |
| NULL | B  |
| NULL | C  |
| NULL | D  |
+------+----+
4 rows in set (0.00 sec)

さて、次のクエリではキーワード RIGHT を使用していません -

mysql> Select tbl_1.id,tbl_2.id FROM tbl_1 JOIN tbl_2 ON tbl_1.name = tbl_2.name;
+----+----+
| id | id |
+----+----+
| 4  | A  |
+----+----+
1 row in set (0.00 sec)

上記の結果セットから違いがわかります。キーワード 'RIGHT' を使用しないと、MySQL はそれをクエリの INNER JOIN として扱います。それに応じて結果を返します。

キーワード LEFT を使用した LEFT JOIN のクエリは次のようになります-

mysql> SELECT tbl_1.id,tbl_2.id FROM tbl_1 LEFT JOIN tbl_2 ON tbl_1.name = tbl_2.name;
+----+------+
| id | id   |
+----+------+
| 1  | NULL |
| 2  | NULL |
| 3  | NULL |
| 4  | A    |
+----+------+
4 rows in set (0.02 sec)

さて、次のクエリではキーワード LEFT を使用しません-

mysql> Select tbl_1.id,tbl_2.id FROM tbl_1 JOIN tbl_2 ON tbl_1.name = tbl_2.name;
+----+----+
| id | id |
+----+----+
| 4  | A  |
+----+----+
1 row in set (0.00 sec)

上記から、キーワード "LEFT" を使用せずに結果セットの違いを確認できます。MySQL はそれを INNER JOIN クエリとして扱い、それに応じて結果を返します。

以上がRIGHT JOIN または LEFT JOIN クエリを作成するときにキーワード「RIGHT」または「LEFT」を使用しない場合、MySQL は何を返しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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