So verbinden Sie drei Tabellen in SQL: Eine Einführung
Min-jun Kim
Dev Intern · Leapcell

Key Takeaways
- SQL-Joins können drei Tabellen mithilfe von verketteten JOIN-Anweisungen kombinieren.
- Die Identifizierung der richtigen Spalten ist für erfolgreiche Multi-Tabellen-Joins unerlässlich.
- Die Verwendung von Tabellenaliasen verbessert die Lesbarkeit der Abfrage.
Bei der Arbeit mit Datenbanken stoßen Sie häufig auf Situationen, in denen Sie Daten abrufen müssen, die über mehrere Tabellen verteilt sind. SQL-Joins sind leistungsstarke Werkzeuge, mit denen Sie Daten aus zwei oder mehr Tabellen basierend auf verwandten Spalten kombinieren können. Aber was ist, wenn Sie drei Tabellen verbinden müssen? In diesem Artikel werden wir Schritt für Schritt untersuchen, wie man drei Tabellen in SQL verbindet, mit klaren Beispielen.
SQL-Joins verstehen
Bevor wir drei Tabellen verbinden, wollen wir kurz wiederholen, was ein Join ist. Ein SQL-Join führt Datensätze aus zwei Tabellen basierend auf einer verwandten Spalte zwischen ihnen zusammen, z. B. einem Fremdschlüssel.
Die am häufigsten verwendeten Joins sind:
- INNER JOIN: Gibt nur übereinstimmende Zeilen aus beiden Tabellen zurück.
- LEFT JOIN (oder LEFT OUTER JOIN): Gibt alle Zeilen aus der linken Tabelle und die übereinstimmenden Zeilen aus der rechten Tabelle zurück; nicht übereinstimmende Zeilen haben
NULL
-Werte. - RIGHT JOIN (oder RIGHT OUTER JOIN): Gibt alle Zeilen aus der rechten Tabelle und die übereinstimmenden Zeilen aus der linken Tabelle zurück.
Drei Tabellen verbinden: Die Grundlagen
Sie können in SQL mehr als zwei Tabellen verbinden, indem Sie mehrere JOIN-Anweisungen miteinander verketten. Der Schlüssel ist die Identifizierung der Spalten, die Ihre Tabellen verbinden.
Beispiel für eine Datenbankstruktur
Stellen Sie sich vor, wir haben die folgenden drei Tabellen:
-
Kunden
customer_id
customer_name
-
Bestellungen
order_id
customer_id
order_date
-
Produkte
product_id
product_name
-
Bestelldetails
order_id
product_id
quantity
Nehmen wir an, wir möchten für jede Bestellung den Kundennamen, den Produktnamen und die bestellte Menge ermitteln.
SQL-Abfrage zum Verbinden von drei Tabellen
Um dies zu tun, können wir die Tabellen wie folgt verbinden:
SELECT Customers.customer_name, Products.product_name, OrderDetails.quantity FROM Customers INNER JOIN Orders ON Customers.customer_id = Orders.customer_id INNER JOIN OrderDetails ON Orders.order_id = OrderDetails.order_id INNER JOIN Products ON OrderDetails.product_id = Products.product_id;
Wie funktioniert das?
-
Customers INNER JOIN Orders Verbindet Kunden mit ihren Bestellungen.
-
Orders INNER JOIN OrderDetails Verbindet Bestellungen mit den spezifischen Details (welche Produkte bestellt wurden).
-
OrderDetails INNER JOIN Products Verbindet Bestelldetails mit den Produktinformationen.
Jeder Join verbindet eine weitere Tabelle unter Verwendung einer relevanten Spalte (normalerweise ein Fremdschlüssel). Dies ermöglicht Ihnen den Zugriff auf Felder aus allen verbundenen Tabellen in Ihrer SELECT
-Anweisung.
Verwenden von Aliasen für mehr Übersichtlichkeit
Um Abfragen lesbarer zu machen, können Sie Tabellenaliase verwenden:
SELECT c.customer_name, p.product_name, od.quantity FROM Customers c INNER JOIN Orders o ON c.customer_id = o.customer_id INNER JOIN OrderDetails od ON o.order_id = od.order_id INNER JOIN Products p ON od.product_id = p.product_id;
Andere Arten von Joins
Obwohl das obige Beispiel INNER JOIN
verwendet, können Sie bei Bedarf LEFT JOIN
oder RIGHT JOIN
verwenden. Wenn Sie beispielsweise Kunden einbeziehen möchten, die keine Bestellungen aufgegeben haben, würden Sie einen LEFT JOIN
zwischen Kunden und Bestellungen verwenden.
SELECT c.customer_name, p.product_name, od.quantity FROM Customers c LEFT JOIN Orders o ON c.customer_id = o.customer_id LEFT JOIN OrderDetails od ON o.order_id = od.order_id LEFT JOIN Products p ON od.product_id = p.product_id;
Schlussfolgerung
Das Verbinden von drei Tabellen in SQL ist einfach, sobald Sie die Beziehungen zwischen Ihren Tabellen verstehen. Sie verketten einfach mehrere JOIN-Anweisungen miteinander und verbinden sich immer mit den Spalten, die die Tabellen miteinander verbinden. Durch die Beherrschung von Multi-Tabellen-Joins erschließen Sie viel leistungsfähigere Abfragen und Erkenntnisse aus Ihren Daten.
FAQs
Verketten Sie mehrere JOIN-Anweisungen mithilfe von verwandten Spalten.
Ja, Sie können je nach Bedarf INNER JOIN, LEFT JOIN oder RIGHT JOIN verwenden.
Aliase machen komplexe Abfragen leichter lesbar.
Wir sind Leapcell, Ihre erste Wahl für das Hosting von Backend-Projekten.
Leapcell ist die Next-Gen Serverless-Plattform für Webhosting, asynchrone Aufgaben und Redis:
Multi-Language-Unterstützung
- Entwickeln Sie mit Node.js, Python, Go oder Rust.
Stellen Sie unbegrenzt Projekte kostenlos bereit
- Zahlen Sie nur für die Nutzung - keine Anfragen, keine Gebühren.
Unschlagbare Kosteneffizienz
- Pay-as-you-go ohne Leerlaufgebühren.
- Beispiel: 25 $ unterstützen 6,94 Millionen Anfragen bei einer durchschnittlichen Reaktionszeit von 60 ms.
Optimierte Entwicklererfahrung
- Intuitive Benutzeroberfläche für mühelose Einrichtung.
- Vollautomatische CI/CD-Pipelines und GitOps-Integration.
- Echtzeitmetriken und Protokollierung für umsetzbare Erkenntnisse.
Mühelose Skalierbarkeit und hohe Leistung
- Automatische Skalierung zur einfachen Bewältigung hoher Parallelität.
- Null Betriebsaufwand - konzentrieren Sie sich einfach auf das Bauen.
Erfahren Sie mehr in der Dokumentation!
Folgen Sie uns auf X: @LeapcellHQ