Heim  >  Artikel  >  Datenbank  >  Was gibt MySQL zurück, wenn ich beim Schreiben einer RIGHT JOIN- oder LEFT JOIN-Abfrage nicht das Schlüsselwort „RIGHT“ oder „LEFT“ verwende?

Was gibt MySQL zurück, wenn ich beim Schreiben einer RIGHT JOIN- oder LEFT JOIN-Abfrage nicht das Schlüsselwort „RIGHT“ oder „LEFT“ verwende?

WBOY
WBOYnach vorne
2023-08-25 18:05:061175Durchsuche

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

In beiden Fällen, d. h. wenn das Schlüsselwort „RIGHT“ oder „LEFT“ nicht in der Abfrage verwendet wird, gibt MySQL die Ergebnisse als INNER JOIN-Abfrage zurück. Dies liegt daran, dass der einzige Unterschied zwischen RIGHT, LEFT und INNER JOIN das Schlüsselwort RIGHT oder LEFT ist. Um es zu verstehen, nehmen wir das Beispiel von zwei 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 RIGHT JOIN mit dem Schlüsselwort RIGHT wie folgt lauten:

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)

In der folgenden Abfrage haben wir Ohne Verwendung des Schlüsselworts 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)

Anhand der obigen Ergebnismenge können wir den Unterschied beobachten: Ohne die Verwendung des Schlüsselworts „RIGHT“ behandelt MySQL es als INNER JOIN-Abfrage und gibt die Ergebnisse entsprechend zurück.

Nun kann die Abfrage für LEFT JOIN mit dem Schlüsselwort LEFT wie folgt lauten: -

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)

Nun verwenden wir in der folgenden Abfrage nicht das Schlüsselwort 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)

Aus der obigen Ergebnismenge können wir den Unterschied beobachten den Schlüssel nicht verwenden Im Fall des Wortes „LEFT“ behandelt MySQL es als INNER JOIN-Abfrage und gibt die Ergebnisse entsprechend zurück.

Das obige ist der detaillierte Inhalt vonWas gibt MySQL zurück, wenn ich beim Schreiben einer RIGHT JOIN- oder LEFT JOIN-Abfrage nicht das Schlüsselwort „RIGHT“ oder „LEFT“ verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen