ホームページ >データベース >mysql チュートリアル >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 サイトの他の関連記事を参照してください。