Heim  >  Artikel  >  Datenbank  >  Gemeinsame Nutzung von Datentabellen-Verbindungsmethoden in MySQL

Gemeinsame Nutzung von Datentabellen-Verbindungsmethoden in MySQL

PHPz
PHPzOriginal
2023-06-15 21:09:314012Durchsuche

MySQL ist ein serverseitiges relationales Datenbankverwaltungssystem, das bei der Verwaltung großer Datenmengen hilft und Daten auf verschiedene Arten verarbeiten kann. Die wichtigste davon ist die Verbindung verschiedener Datentabellen. In MySQL gibt es mehrere verschiedene Join-Methoden, die zum Verbinden von Datentabellen verwendet werden können, jede mit unterschiedlichen Vor- und Nachteilen. In diesem Artikel werden einige gängige Verbindungsmethoden für MySQL-Datentabellen vorgestellt, um den Lesern dabei zu helfen, MySQL besser zu verstehen und zu verwenden.

1. Left Join

Im Left Join geben wir alle Informationen in der linken Tabelle und die passenden Daten in der rechten Tabelle zurück. Wenn in der Tabelle rechts keine passenden Daten vorhanden sind, wird ein NULL-Wert zurückgegeben.

Syntax:

SELECT left_table.column_name(s), right_table.column_name(s)
FROM left_table LEFT JOIN right_table
ON left_table.column_name = right_table.column_name;

Beispiel:

Angenommen, es gibt zwei Tabellen bzw. Student Tabelle (Schüler) und Familientabelle (Familie). Die Schülertabelle enthält den Namen und das Alter des Schülers, und die Familientabelle enthält den Namen des Vaters, der dem Namen des Schülers entspricht.

Verwenden Sie Left Join, um diese beiden Tabellen zu verbinden. Die SQL-Anweisung lautet wie folgt:

SELECT student.name, student.age, Family.father_name
FROM student
LEFT JOIN Family
ON student.name = Family.student_name;

Hier können Sie den Namen, das Alter und den Namen des Vaters abrufen. Wenn für einen Schüler kein passender Vatername vorhanden ist, wird hier ein NULL-Wert zurückgegeben.

2. Right Join

Right Join kann als Spiegelversion des Left Join angesehen werden. Im rechten Join geben wir alle Informationen aus der Tabelle rechts und die passenden Daten aus der Tabelle links zurück. Wenn in der linken Tabelle keine passenden Daten vorhanden sind, wird ein NULL-Wert zurückgegeben.

Syntax:

SELECT left_table.column_name(s), right_table.column_name(s)
FROM left_table RIGHT JOIN right_table
ON left_table.column_name = right_table.column_name;

Beispiel:

Verwende immer noch die obige Schülertabelle und -familie Tabelle Verwenden Sie beispielsweise einen rechten Join, um diese beiden Tabellen zu verbinden. Die SQL-Anweisung lautet wie folgt:

SELECT student.name, student.age, family.father_name
FROM student
RIGHT JOIN Family
ON student.name = Familie. student_name;

Hier erhalten wir Namen, Alter und den Namen des Vaters. Wenn kein passender Schülername vorhanden ist, wird hier ein NULL-Wert zurückgegeben.

3. Innerer Join

Inner Join gibt nur Daten mit übereinstimmender Beziehung in den beiden Tabellen zurück. Wenn zwischen den beiden Tabellen keine übereinstimmende Beziehung besteht, werden keine Daten zurückgegeben.

Syntax:

SELECT left_table.column_name(s), right_table.column_name(s)
FROM left_table
INNER JOIN right_table
ON left_table.column_name = right_table.column_name;

Beispiel:

Verwenden Sie Inner Join zum Implementieren Tisch und Um die Familientabelle zu verbinden, lautet die SQL-Anweisung wie folgt:

SELECT student.name, student.age, Family.father_name
FROM student
INNER JOIN Family
ON student.name = Family.student_name;

Hier, wir Erhalten Sie nur die verknüpften Daten der Schüler zwischen zwei Tabellen mit Name, Alter und Name des Vaters.

4. Äußere Verknüpfungen

Äußere Verknüpfungen sind die allgemeine Bezeichnung für linke Verknüpfungen, rechte Verknüpfungen und vollständige äußere Verknüpfungen. Im Outer Join geben wir alle Daten aus den beiden Tabellen zurück und gleichen sie miteinander ab. Wenn in bestimmten Daten nur eine Tabelle vorhanden ist, in einer anderen jedoch nicht, wird NULL an der entsprechenden Datenposition zurückgegeben.

Syntax:

SELECT left_table.column_name(s), right_table.column_name(s)
FROM left_table
FULL OUTER JOIN right_table
ON left_table.column_name = right_table.column_name;

Beispiel:

Outer Join verwenden Schüler umsetzen Tabelle Um eine Verbindung zur Familientabelle herzustellen, lautet die SQL-Anweisung wie folgt:

SELECT student.name, student.age, Family.father_name
FROM student
FULL OUTER JOIN Family
ON student.name = Family.student_name;

Here Wir holen uns alle Daten aus Schüler- und Familientabellen und stellen sie zusammen. Wenn der Vater direkt in der Familientabelle gefunden wird, der entsprechende Schüler jedoch nicht, wird hier ein NULL-Wert zurückgegeben.

5. Selbstverknüpfung

Selbstverknüpfung bedeutet, zwei verschiedene Elemente als zwei Tabellen in einer einzigen Tabelle zu verbinden. Normalerweise wird diese Methode verwendet, um entsprechende Informationen in der Tabelle zu finden.

Syntax:

SELECT a.column_name(s), b.column_name(s)
FROM table a, table b
WHERE a.column_name = b.column_name AND a.column_name = 'value';

Beispiel:

Angenommen, es gibt eine Tabelle mit Ländern und ihren Hauptstädten. Mithilfe der Selbstverknüpfung können wir die Verbindungen zwischen allen Hauptstädten des Landes abfragen.

Verwenden Sie Self-Join, um die obige Abfrage zu implementieren. Die SQL-Anweisung lautet wie folgt:

SELECT a.country, a.capital as capital_city, b.capital
FROM Capital_table a, Capital_table b
WHERE a.capital != b .capital AND a.country = b.country;

Hier können Sie die zugehörigen Daten zwischen jedem Land und den Hauptstädten anderer Länder abrufen.

Zusammenfassung:

MySQL bietet verschiedene Tabellenverbindungsmethoden, von denen jede für unterschiedliche Datenverbindungsanforderungen verwendet werden kann. Indem wir ein tiefgreifendes Verständnis dieser Methoden und ihrer Verwendung erlangen, können wir Datenverbindungen in MySQL effizienter handhaben und ein besseres Verständnis für die Verwendung von MySQL erlangen.

Das obige ist der detaillierte Inhalt vonGemeinsame Nutzung von Datentabellen-Verbindungsmethoden in MySQL. 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