Mehrere Möglichkeiten zum Verbinden von Tabellen in MySQL

Mehrere Möglichkeiten zum Verbinden von Tabellen in MySQL

Die Verbindungsmethode in der MySQL-Tabelle ist eigentlich sehr einfach. Hier listen wir lediglich ihre Eigenschaften auf.

Tabellenverbindungen (JOIN) können in innere Verbindungen (JOIN/INNER JOIN) und äußere Verbindungen (LEFT JOIN/RIGHT JOIN) unterteilt werden.

Schauen wir uns zunächst die beiden Tabellen in dieser Demonstration an:

mysql> AUSWÄHLEN * VON Student;
+------+----------+------+------+
| s_id | s_name | Alter | c_id |
+------+----------+------+------+
| 1 | xiaoming | 13 | 1 |
| 2 | xiaohong | 41 | 4 |
| 3 | xiaoxia | 22 | 3 |
| 4 | xiaogang | 32 | 1 |
| 5 | xiaoli | 41 | 2 |
| 6 | wangwu | 13 | 2 |
| 7 | lisi | 22 | 3 |
| 8 | Zhangsan | 11 | 9 |
+------+----------+------+------+
8 Zeilen im Satz (0,00 Sek.)

mysql> SELECT * FROM Klasse;
+------+---------+-------+
| c_id | c_name | Anzahl |
+------+---------+-------+
| 1 | MATHE | 65 |
| 2 | CHINESISCH | 70 |
| 3 | DEUTSCH | 50 |
| 4 | GESCHICHTE | 30 |
| 5 | BIOLOGIE | 40 |
+------+---------+-------+
5 Zeilen im Satz (0,00 Sek.)

Voraussetzung für die Verknüpfung von Tabellen ist zunächst, dass in beiden Tabellen gleiche, vergleichbare Spalten vorhanden sind.

1. Innerer Join

mysql> SELECT * FROM student INNER JOIN class ON student.c_id = class.c_id;
+------+----------+------+------+------+---------+---------+-----------+
| s_id | s_name | Alter | c_id | c_id | c_name | Anzahl |
+------+----------+------+------+------+---------+---------+-----------+
| 1 | xiaoming | 13 | 1 | 1 | MATHEMATIK | 65 |
| 2 | xiaohong | 41 | 4 | 4 | GESCHICHTE | 30 |
| 3 | xiaoxia | 22 | 3 | 3 | DEUTSCH | 50 |
| 4 | xiaogang | 32 | 1 | 1 | MATHEMATIK | 65 |
| 5 | xiaoli | 41 | 2 | 2 | CHINESISCH | 70 |
| 6 | wangwu | 13 | 2 | 2 | CHINESISCH | 70 |
| 7 | lisi | 22 | 3 | 3 | DEUTSCH | 50 |
+------+----------+------+------+------+---------+---------+-----------+
7 Zeilen im Satz (0,00 Sek.)

Einfach ausgedrückt besteht ein Inner Join darin, alle Daten der Zeilen, die die Bedingungen erfüllen, in den beiden Tabellen zusammen anzuzeigen. Das heißt, wenn die Bedingungen nicht erfüllt sind, werden die Daten, die in Tabelle A, aber nicht in B (oder umgekehrt) zu finden sind, nicht angezeigt.

2. Äußerer Join

mysql> SELECT * FROM student LEFT JOIN class ON student.c_id = class.c_id;
+------+----------+------+------+------+---------+---------+-----------+
| s_id | s_name | Alter | c_id | c_id | c_name | Anzahl |
+------+----------+------+------+------+---------+---------+-----------+
| 1 | xiaoming | 13 | 1 | 1 | MATHEMATIK | 65 |
| 2 | xiaohong | 41 | 4 | 4 | GESCHICHTE | 30 |
| 3 | xiaoxia | 22 | 3 | 3 | DEUTSCH | 50 |
| 4 | xiaogang | 32 | 1 | 1 | MATHEMATIK | 65 |
| 5 | xiaoli | 41 | 2 | 2 | CHINESISCH | 70 |
| 6 | wangwu | 13 | 2 | 2 | CHINESISCH | 70 |
| 7 | lisi | 22 | 3 | 3 | DEUTSCH | 50 |
| 8 | zhangsan | 11 | 9 | NULL | NULL | NULL |
+------+----------+------+------+------+---------+---------+-----------+
8 Zeilen im Satz (0,00 Sek.)


mysql> SELECT * FROM student RIGHT JOIN class ON student.c_id = class.c_id;
+------+----------+------+------+------+---------+---------+-----------+
| s_id | s_name | Alter | c_id | c_id | c_name | Anzahl |
+------+----------+------+------+------+---------+---------+-----------+
| 1 | xiaoming | 13 | 1 | 1 | MATHEMATIK | 65 |
| 4 | xiaogang | 32 | 1 | 1 | MATHEMATIK | 65 |
| 5 | xiaoli | 41 | 2 | 2 | CHINESISCH | 70 |
| 6 | wangwu | 13 | 2 | 2 | CHINESISCH | 70 |
| 3 | xiaoxia | 22 | 3 | 3 | DEUTSCH | 50 |
| 7 | lisi | 22 | 3 | 3 | DEUTSCH | 50 |
| 2 | xiaohong | 41 | 4 | 4 | GESCHICHTE | 30 |
| NULL | NULL | NULL | NULL | 5 | BIOLOGIE | 40 |
+------+----------+------+------+------+---------+---------+-----------+
8 Zeilen im Satz (0,00 Sek.)

Oben sind zwei Fälle von äußeren Verknüpfungen dargestellt: Linksverknüpfung und Rechtsverknüpfung. Diese beiden sind fast identisch. Der einzige Unterschied besteht darin, dass die Haupttabelle des linken Join die Tabelle auf der linken Seite und die Haupttabelle des rechten Join die Tabelle auf der rechten Seite ist. Der Unterschied zwischen einem äußeren und einem inneren Join besteht darin, dass alle Zeilen der Haupttabelle angezeigt werden und die Daten in der Haupttabelle, die nicht in anderen Tabellen enthalten sind, durch NULL ersetzt werden.

Zusammenfassen

Damit ist dieser Artikel über verschiedene Möglichkeiten zum Verbinden von Tabellen in MySQL abgeschlossen. Weitere Informationen zum Verbinden von MySQL-Tabellen finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Grundlegendes Tutorial zu Multi-Table-Join-Abfragen in MySQL
  • MySQL-Löschfunktion für Mehrfachtabellenverbindungen
  • So erstellen Sie einen Index für eine Join-Tabelle in MySQL
  • MySQL-Tabelle LEFT JOIN left join und RIGHT JOIN right join Beispiel-Tutorial
  • Erläuterung des MySQL-Multitabellen-Join-Abfragebeispiels
  • Ein einfaches Tutorial zur Optimierung von Tabellenverknüpfungsabfragen in MySQL
  • mysql drei Tabellen verbunden, um eine Ansicht zu erstellen
  • Detaillierte Erklärung der MySQL-Datenbank - Abfrage mehrerer Tabellen - Inner Join, Outer Join, Unterabfrage, korrelierte Unterabfrage
  • Fortgeschrittenes Lernprogramm zur MySQL LEFT JOIN-Tabellenverbindung
  • Einführungstutorial zum MySQL-Multitabellen-Join

<<:  Detailliertes Tutorial zur Verwendung des Plugins tomcat8-maven-plugin in Maven

>>:  JavaScript zum Implementieren der Auswahl oder Stornierung von Kontrollkästchen

Artikel empfehlen

Wird der veraltete Docker durch Podman ersetzt?

Das Kubernetes-Team hat vor Kurzem angekündigt, d...

SQL-Gruppierung zum Entfernen von Duplikaten und Sortieren nach anderen Feldern

brauchen: Identische Elemente eines Feldes zusamm...

js implementiert benutzerdefinierte Dropdown-Box

In diesem Artikelbeispiel wird der spezifische JS...

So verwenden Sie die Shell, um Batchvorgänge auf mehreren Servern auszuführen

Inhaltsverzeichnis SSH-Protokoll SSH Verbindungsp...

Tabellen in HTML aufteilen und zusammenführen (colspan, rowspan)

Der Code demonstriert die horizontale Zusammenfüh...

Lösung zum Vergessen des Root-Passworts von MySQL5.7 unter Windows 8.1

【Hintergrund】 Mir ist beim Lernen kürzlich etwas ...

Vue3 kapselt die Textskelett-Effektkomponente der Seitennavigation

Vue3-Projektkapselung Seitennavigation Textskelet...

Grafisches Tutorial zur Installation von MySQL 5.6.35 unter Windows 10 64-Bit

1. Laden Sie MySQL Community Server 5.6.35 herunt...

Vue CodeMirror realisiert den Effekt des Online-Code-Compilers

Vorwort Wenn wir den Effekt der Online-Codekompil...

Schritte zum Exportieren der Felder und zugehörigen Attribute von MySQL-Tabellen

Müssen die Felder und Eigenschaften der Tabelle i...

Mit CSS3 implementierte Text-Popup-Effekte

Ergebnisse erzielenImplementierungscode html <...