Select*fromtbl_1;+----+--------+|Id|Nama |+ - ---+--------+|1 |Gaurav||2&nb"/> Select*fromtbl_1;+----+--------+|Id|Nama |+ - ---+--------+|1 |Gaurav||2&nb">

Rumah  >  Artikel  >  pangkalan data  >  Apakah yang akan dikembalikan oleh MySQL jika saya tidak menggunakan kata kunci "KANAN" atau "KIRI" apabila saya menulis pertanyaan RIGHT JOIN atau LEFT JOIN?

Apakah yang akan dikembalikan oleh MySQL jika saya tidak menggunakan kata kunci "KANAN" atau "KIRI" apabila saya menulis pertanyaan RIGHT JOIN atau LEFT JOIN?

WBOY
WBOYke hadapan
2023-08-25 18:05:061178semak imbas

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

Dalam kedua-dua kes, iaitu apabila kata kunci "KANAN" atau "KIRI" tidak digunakan dalam pertanyaan, MySQL akan mengembalikan hasil sebagai pertanyaan INNER JOIN. Ini kerana satu-satunya perbezaan antara KANAN, KIRI dan SERTAI DALAM ialah kata kunci KANAN atau KIRI. Untuk memahaminya, mari kita ambil contoh dua jadual bernama tbl_1 dan tbl_2 yang mempunyai data berikut-

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)

Kini, pertanyaan untuk RIGHT JOIN menggunakan kata kunci RIGHT boleh menjadi seperti berikut-

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)

Sekarang, dalam pertanyaan berikut kita Tidak menggunakan kata kunci BETUL -

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)

Daripada set keputusan di atas kita boleh perhatikan perbezaannya, tanpa menggunakan kata kunci 'BETUL', MySQL akan menganggapnya sebagai pertanyaan INNER JOIN dan mengembalikan keputusan sewajarnya.

Sekarang, pertanyaan untuk LEFT JOIN menggunakan kata kunci LEFT boleh seperti berikut -

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)

Sekarang, dalam pertanyaan berikut kita tidak menggunakan kata kunci 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)

Daripada set hasil di atas kita boleh perhatikan perbezaannya, tanpa menggunakan kunci Dalam kes perkataan "LEFT", MySQL menganggapnya sebagai pertanyaan INNER JOIN dan mengembalikan hasilnya dengan sewajarnya.

Atas ialah kandungan terperinci Apakah yang akan dikembalikan oleh MySQL jika saya tidak menggunakan kata kunci "KANAN" atau "KIRI" apabila saya menulis pertanyaan RIGHT JOIN atau LEFT JOIN?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam