Rumah >pangkalan data >tutorial mysql >Bagaimanakah kita membezakan antara MySQL CROSS JOIN dan INNER JOIN?
Kami hanya boleh membezakan antara MySQL CROSS JOIN dan INNER JOIN berdasarkan predikat gabungan (iaitu syarat yang ditetapkan). Semasa menulis pertanyaan INNER JOIN, kita perlu menentukan syarat, tetapi sebaliknya, semasa menulis pertanyaan CROSS JOIN, kita tidak perlu menentukan syarat. 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 INNER JOIN boleh menjadi seperti berikut-
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)
Sekarang, jika kita menulis tanpa menyatakan syarat pertanyaan di atas, maka ia akan menjadi CROSS JOIN. Pertanyaan tanpa syarat adalah seperti berikut -
mysql> Select tbl_1.id, tbl_2.id FROM tbl_1 JOIN tbl_2; +----+----+ | id | id | +----+----+ | 1 | A | | 2 | A | | 3 | A | | 4 | A | | 1 | B | | 2 | B | | 3 | B | | 4 | B | | 1 | C | | 2 | C | | 3 | C | | 4 | C | | 1 | D | | 2 | D | | 3 | D | | 4 | D | +----+----+ 16 rows in set (0.00 sec)
Atas ialah kandungan terperinci Bagaimanakah kita membezakan antara MySQL CROSS JOIN dan INNER JOIN?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!