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

CSS-Leistungsoptimierung - detaillierte Erklärung der Will-Change-Verwendung

will-change teilt dem Browser mit, welche Änderun...

CSS3-Textanimationseffekte

Wirkung html <div Klasse="sp-container&qu...

Detailliertes Tutorial zur Installation von VirtualBox 6.0 auf CentOS 8 / RHEL 8

VirtualBox ist ein kostenloses Open Source-Virtua...

Interpretation des CocosCreator-Quellcodes: Engine-Start und Hauptschleife

Inhaltsverzeichnis Vorwort Vorbereitung Gehen! Te...

Das WeChat-Applet implementiert einen einfachen Rechner

Ein einfacher Rechner, der als Referenz in das We...

Einführung in MySQL-Rollenfunktionen

Inhaltsverzeichnis Vorwort: 1. Einführung in die ...

Zusammenfassung der MySQL-Ansichtsprinzipien und Anwendungsbeispiele

Dieser Artikel fasst die Prinzipien und die Verwe...

So implementieren Sie einen Kennwortstärke-Detektor in React

Inhaltsverzeichnis Vorwort verwenden Komponentens...