Heim  >  Artikel  >  Datenbank  >  Beispiel für eine ausführliche Erklärung der MySQL-Verbindungsabfrage für Links-Join, Rechts-Join und Inner-Join

Beispiel für eine ausführliche Erklärung der MySQL-Verbindungsabfrage für Links-Join, Rechts-Join und Inner-Join

小云云
小云云Original
2018-01-06 13:47:032901Durchsuche

In diesem Artikel werden hauptsächlich die relevanten Informationen zur MySQL-Verbindungsabfrage vorgestellt (linke Verbindung, rechte Verbindung, innere Verbindung). Freunde, die ihn benötigen, können darauf verweisen kann jedem helfen.

1. Gemeinsame MySQL-Verbindungen

  • INNER JOIN (Inner Join oder gleichwertiger Join): Ermitteln Sie die übereinstimmende Beziehung zwischen Feldern in zwei Tabellen .

  • LEFT JOIN (linker Join): Ruft alle Datensätze in der linken Tabelle ab, auch wenn in der rechten Tabelle keine entsprechenden übereinstimmenden Datensätze vorhanden sind.

  • RIGHT JOIN (Rechtsverknüpfung): Im Gegensatz zu LEFT JOIN wird es verwendet, um alle Datensätze in der rechten Tabelle abzurufen, auch wenn in der linken Tabelle keine entsprechenden übereinstimmenden Datensätze vorhanden sind.


mysql> select * from name_address;
+----------+------+----+
| address | name | id |
+----------+------+----+
| 西北一路 | 张三 | 1 |
| 西北二路 | 李四 | 2 |
| 西北三路 | 王五 | 3 |
+----------+------+----+
3 rows in set

mysql> select * from name_age;
+-----+--------+----+
| age | name  | id |
+-----+--------+----+
| 18 | 张三  | 1 |
| 20 | 王五  | 2 |
| 21 | 路人甲 | 3 |
+-----+--------+----+
3 rows in set

1. INNER JOIN

INNER JOIN und allgemeine verbundene Tabellen Die Abfrage ist konsistent, d. h. es werden durch Kommas getrennte Abfragemethoden verwendet.


mysql> SELECT a.`name`,a.age,b.address FROM name_age a INNER JOIN name_address b WHERE(on) a.`name`=b.`name`;
+------+-----+----------+
| name | age | address |
+------+-----+----------+
| 张三 | 18 | 西北一路 |
| 王五 | 20 | 西北三路 |
+------+-----+----------+
2 rows in set

2. LEFT JOIN

Vorbehaltlich der Datentabelle auf der linken Seite


mysql> SELECT a.`name`,a.age,b.address FROM name_age a left JOIN name_address b on
 a.`name`=b.`name`;
+--------+-----+----------+
| name  | age | address |
+--------+-----+----------+
| 张三  | 18 | 西北一路 |
| 王五  | 20 | 西北三路 |
| 路人甲 | 21 | NULL   |
+--------+-----+----------+
3 rows in set

3. RIGHT JOIN

ist das Gegenteil von LEFT JOIN, das heißt, die Daten auf der rechten Seite haben Vorrang


mysql> SELECT b.`name`,a.age,b.address FROM name_age a right JOIN name_address b on a.`name`=b.`name`;
+------+------+----------+
| name | age | address |
+------+------+----------+
| 张三 | 18  | 西北一路 |
| 王五 | 20  | 西北三路 |
| 李四 | NULL | 西北二路 |
+------+------+----------+
3 rows in set

Verwandte Empfehlungen:

Die Bedeutung von Indizes bei MySQL-Verbindungsabfragen

Klassische MySQL-Verbindungsabfrage, kleines Beispiel_MySQL

Klassische MySQL-Verbindungsabfrage, Beispiel_MySQL

Das obige ist der detaillierte Inhalt vonBeispiel für eine ausführliche Erklärung der MySQL-Verbindungsabfrage für Links-Join, Rechts-Join und Inner-Join. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn