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

FTP-Remoteverbindung zu Linux über SSH

Installieren Sie zunächst SSH in Linux. Nehmen Si...

Äußerst detaillierte Freigabe der MySQL-Nutzungsspezifikation

In letzter Zeit waren viele datenbankbezogene Vor...

Detaillierte Erklärung der einfachen HTML- und CSS-Verwendung

Ich werde drei Tage benötigen, um den statischen ...

Eine detaillierte Diskussion der Auswertungsstrategien in JavaScript

Inhaltsverzeichnis Eine Kastanie zum Abdecken Par...

Grundlegender Installationsprozess von mysql5.7.19 unter winx64 (Details)

1. Herunterladen https://dev.mysql.com/downloads/...

MySQL Infobright-Installationsschritte

Inhaltsverzeichnis 1. Verwenden Sie den Befehl „r...

Zusammenfassung des MySQL-Installationsdiagramms

Grafisches Tutorial zur Installation und Konfigur...

Analyse des Implementierungsprozesses für die Tomcat maxPostSize-Einstellung

1. Warum maxPostSize festlegen? Der Tomcat-Contai...

So erkennen Sie die Ubuntu-Version mithilfe der Befehlszeile

Methode 1: Verwenden Sie das Dienstprogramm lsb_r...

So installieren Sie Oracle_11g mit Docker

Installieren Sie Oracle_11g mit Docker 1. Ziehen ...