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
Lepaskan: 2023-08-25 18:05:06
ke hadapan
1328 orang telah melayarinya

如果我在编写 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)
Salin selepas log masuk

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)
Salin selepas log masuk

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)
Salin selepas log masuk
Salin selepas log masuk

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)
Salin selepas log masuk

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)
Salin selepas log masuk
Salin selepas log masuk

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!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan