Heim >Datenbank >MySQL-Tutorial >Wie verbinde ich mehrere Tabellen in MySQL, um verwandte Daten abzurufen?

Wie verbinde ich mehrere Tabellen in MySQL, um verwandte Daten abzurufen?

Linda Hamilton
Linda HamiltonOriginal
2024-12-17 10:09:25857Durchsuche

How to Join Multiple Tables in MySQL to Retrieve Related Data?

Tabellen in MySQL verbinden

In MySQL können wir durch das Verbinden von Tabellen Daten aus mehreren Tabellen basierend auf gemeinsam genutzten Spalten kombinieren. In dieser Frage wollen wir drei Tabellen verknüpfen, um spezifische Informationen abzurufen.

Studenten-, Kurs- und Brückentabellen verbinden

Die angegebenen Daten umfassen drei Tabellen: Student ( enthält Studentennamen), Kurs (enthält Kursnamen) und Bridge (verbindet Studenten-IDs mit Kurs-IDs). Um das gewünschte Ergebnis abzurufen (Auflistung der Studentennamen mit den Namen der besuchten Kurse), müssen Sie einen Inner Join mit ANSI-Syntax verwenden:

SELECT s.name AS Student, c.name AS Course
FROM student s
INNER JOIN bridge b ON s.id = b.sid
INNER JOIN course c ON b.cid = c.id
ORDER BY s.name;

Diese Abfrage liefert das erwartete Ergebnis und zeigt den Namen jedes Studenten und die von ihm belegten Kurse an haben studiert.

Beitritt zu Mitarbeiter- und Verwaltungstabellen

Für den zweiten Teil der Frage haben wir zwei Tabellen: Mitarbeiter (enthält Mitarbeiternamen) und Verwalten (verbindet Manager-IDs mit Mitarbeiter-IDs). Um das gewünschte Ergebnis (Auflisten von Managern und ihren Mitarbeitern) abzurufen, müssen Sie erneut einen Inner Join verwenden:

SELECT e1.name AS Manager, e2.name AS Staff
FROM employee e1
INNER JOIN manage m ON e1.id = m.mid
INNER JOIN employee e2 ON m.eid = e2.id;

Diese Abfrage liefert das erwartete Ergebnis und zeigt den Namen jedes Managers und die Namen seiner Mitarbeiter an.

Das obige ist der detaillierte Inhalt vonWie verbinde ich mehrere Tabellen in MySQL, um verwandte Daten abzurufen?. 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