Daten aus verschiedenen Tabellen zusammenführen
Datenbanken bestehen oft aus mehreren Tabellen, die miteinander in Beziehung stehen. Um Informationen aus diesen Tabellen abzurufen und zu kombinieren, verwendet man in SQL sogenannte Joins. Dieser Beitrag erklärt die verschiedenen Arten von Joins und zeigt, wie sie dir bei der Datenanalyse helfen können.
Was sind Joins?
Ein Join ist eine SQL-Anweisung, die Datensätze aus zwei oder mehr Tabellen basierend auf einer gemeinsamen Spalte zusammenführt. Stell dir vor, du hast eine Tabelle mit Kundeninformationen und eine Tabelle mit Bestellinformationen. Mithilfe eines Joins kannst du für jeden Kunden die zugehörigen Bestellungen anzeigen.
Welche Arten von Joins gibt es?
(Join Visualiser als dynamische visuelle Hilfe)
Es gibt verschiedene Arten von Joins, die sich in ihrem Verhalten unterscheiden:
- INNER JOIN: Gibt nur die Datensätze zurück, bei denen in beiden Tabellen ein passender Wert in der gemeinsamen Spalte vorhanden ist. Wenn ein Kunde keine Bestellung aufgegeben hat, wird er in der Ergebnisliste nicht angezeigt.
![](https://www.thedataschool.co.uk/content/images/2025/01/Inner.png)
- LEFT JOIN: Gibt alle Datensätze aus der linken Tabelle und die passenden Datensätze aus der rechten Tabelle zurück. Wenn es in der rechten Tabelle keinen passenden Wert gibt, werden für die entsprechenden Spalten
NULL
Werte angezeigt. So werden auch Kunden angezeigt, die noch keine Bestellung aufgegeben haben.
![](https://www.thedataschool.co.uk/content/images/2025/01/left.png)
- RIGHT JOIN: Funktioniert analog zum LEFT JOIN, nur dass alle Datensätze aus der rechten Tabelle und die passenden aus der linken Tabelle zurückgegeben werden.
![](https://www.thedataschool.co.uk/content/images/2025/01/right.png)
- FULL JOIN: Gibt alle Datensätze aus beiden Tabellen zurück. Wenn es in einer Tabelle keinen passenden Wert gibt, werden
NULL
Werte angezeigt.
![](https://www.thedataschool.co.uk/content/images/2025/01/outer.png)
- CROSS JOIN: Erzeugt das kartesische Produkt beider Tabellen. Das bedeutet, dass jede Zeile der ersten Tabelle mit jeder Zeile der zweiten Tabelle kombiniert wird. Dies wird seltener verwendet und kann bei großen Tabellen zu sehr großen Ergebnismengen führen.
Was kann ich mit Joins erreichen?
Du kannst Informationen aus unterschiedlichen Quellen in einer einzigen Abfrage zusammenführen, beispielsweise Kunden mit ihren Bestellungen, Produkten oder Adressen verknüpfen. Durch die Kombination von Daten aus verschiedenen Tabellen kannst du detailliertere Auswertungen erstellen.
Welche Probleme lassen sich durch Joins lösen?
Joins helfen dir bei der Beantwortung von Fragen wie:
- Welche Kunden haben im letzten Monat Bestellungen aufgegeben? (INNER JOIN)
- Welche Produkte wurden noch nie bestellt? (LEFT JOIN mit
WHERE
Klausel zur Filterung vonNULL
Werten) - Welche Kunden haben keine Adresse hinterlegt? (LEFT JOIN mit
WHERE
Klausel)
Beispiel:
Angenommen, du hast zwei Tabellen: Kunden
(mit den Spalten KundenID
und Name
) und Bestellungen
(mit den Spalten BestellID
, KundenID
und Bestelldatum
). Mit einem INNER JOIN könntest du alle Kunden anzeigen, die Bestellungen aufgegeben haben:
SQL Code
SELECT Kunden.Name, Bestellungen.Bestelldatum FROM Kunden INNER JOIN Bestellungen ON Kunden.KundenID = Bestellungen.KundenID;
Dieser kurze Überblick sollte dir einen guten Einstieg in die Welt der SQL-Joins ermöglichen. Mit etwas Übung wirst du schnell in der Lage sein, komplexe Abfragen zu erstellen und wertvolle Erkenntnisse aus deinen Daten zu gewinnen.