Heim >Datenbank >MySQL-Tutorial >Wie unterscheiden wir zwischen MySQL CROSS JOIN und INNER JOIN?
Wir können zwischen MySQL CROSS JOIN und INNER JOIN nur anhand des Join-Prädikats (d. h. der angegebenen Bedingung) unterscheiden. Beim Schreiben einer INNER JOIN-Abfrage müssen wir die Bedingungen angeben, aber umgekehrt müssen wir beim Schreiben einer CROSS JOIN-Abfrage keine Bedingungen angeben. Um es zu verstehen, nehmen wir das Beispiel zweier Tabellen mit den Namen tbl_1 und tbl_2, die die folgenden Daten haben:
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)
Nun kann die Abfrage für INNER JOIN wie folgt lauten:
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)
Wenn wir jetzt schreiben, ohne die Bedingung anzugeben Wenn Sie die obige Abfrage eingeben, wird daraus ein CROSS JOIN. Die bedingungslose Abfrage lautet wie folgt:
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)
Das obige ist der detaillierte Inhalt vonWie unterscheiden wir zwischen MySQL CROSS JOIN und INNER JOIN?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!