🧚 Hör mal! Beekeeper Studio ist eine schnelle, moderne und Open-Source-Datenbank-GUI Download
19. Mai 2025 Von Matthew Rathbone

Das Verknüpfen von Tabellen ist eines der wichtigsten Konzepte in SQL Server. Damit kombinierst du Daten aus mehreren Tabellen zu aussagekräftigen Berichten und Analysen. Egal, ob du komplexe Berichte erstellst oder Daten analysierst: Wer mit SQL entwickelt, muss verstehen, wie Joins funktionieren.

In diesem umfassenden Guide gehen wir jeden Join-Typ in SQL Server mit praktischen Beispielen, klaren Erklärungen und realistischen Szenarien durch.

🔖 Kurzreferenz: Willst du schnell etwas nachschlagen? Schau dir unser SQL JOIN Cheat Sheet mit allen JOIN-Typen, visuellen Diagrammen und Codebeispielen an einem Ort an.

SQL Server Joins verstehen

SQL Server Joins sind Operationen, die Zeilen aus zwei oder mehr Tabellen anhand einer gemeinsamen Spalte kombinieren. Die gängigsten Join-Typen sind:

  • INNER JOIN: Liefert nur übereinstimmende Datensätze aus beiden Tabellen
  • LEFT JOIN: Liefert alle Datensätze der linken Tabelle plus die übereinstimmenden Datensätze der rechten Tabelle
  • RIGHT JOIN: Liefert alle Datensätze der rechten Tabelle plus die übereinstimmenden Datensätze der linken Tabelle
  • FULL OUTER JOIN: Liefert alle Datensätze, sobald es in einer der beiden Tabellen eine Übereinstimmung gibt

Beispieldaten anlegen

Für unsere Beispiele verwenden wir zwei einfache Tabellen, die ein typisches Business-Szenario abbilden:

Tabelle Orders:

CREATE TABLE Orders (
    OrderID INT PRIMARY KEY,
    CustomerID INT,
    Product NVARCHAR(50),
    OrderDate DATE
);

INSERT INTO Orders VALUES 
(1, 1, 'Laptop', '2024-01-15'),
(2, 2, 'Mouse', '2024-01-16'),
(3, 3, 'Keyboard', '2024-01-17');
OrderID CustomerID Product OrderDate
1 1 Laptop 2024-01-15
2 2 Maus 2024-01-16
3 3 Tastatur 2024-01-17

Tabelle Customers:

CREATE TABLE Customers (
    CustomerID INT PRIMARY KEY,
    Name NVARCHAR(50),
    City NVARCHAR(50)
);

INSERT INTO Customers VALUES 
(1, 'John Doe', 'New York'),
(2, 'Jane Smith', 'Los Angeles'),
(4, 'Alex Johnson', 'Chicago');
CustomerID Name City
1 John Doe New York
2 Jane Smith Los Angeles
4 Alex Johnson Chicago

INNER JOIN

Ein INNER JOIN liefert nur die Zeilen, die in beiden Tabellen einen übereinstimmenden Wert haben. Das ist der am häufigsten verwendete Join-Typ und ideal, wenn du nur Datensätze sehen willst, die in beiden Tabellen vorhanden sind.

Wann du INNER JOIN verwendest

  • Wenn du Daten brauchst, die in beiden Tabellen existieren
  • Für Berichte, die vollständige Beziehungen zeigen
  • Wenn unvollständige Datensätze ausgeschlossen werden sollen

SQL-Abfragebeispiel

SELECT 
    o.OrderID,
    c.Name,
    c.City,
    o.Product,
    o.OrderDate
FROM Orders o
INNER JOIN Customers c ON o.CustomerID = c.CustomerID;

Ergebnis

OrderID Name City Product OrderDate
1 John Doe New York Laptop 2024-01-15
2 Jane Smith Los Angeles Maus 2024-01-16

Wichtige Punkte:

  • Nur 2 Zeilen werden zurückgegeben (OrderID 3 fehlt, weil CustomerID 3 in der Tabelle Customers nicht existiert)
  • Nur Kunden, die Bestellungen aufgegeben haben, erscheinen im Ergebnis
  • Die Join-Bedingung (o.CustomerID = c.CustomerID) bestimmt, welche Zeilen übereinstimmen

LEFT JOIN

Ein LEFT JOIN (auch LEFT OUTER JOIN genannt) liefert alle Zeilen der linken Tabelle plus alle übereinstimmenden Zeilen der rechten Tabelle. Gibt es keine Übereinstimmung, erscheinen NULL-Werte in den Spalten der rechten Tabelle.

Wann du LEFT JOIN verwendest

  • Wenn du alle Datensätze der Haupttabelle (linke Tabelle) brauchst
  • Für Berichte, die Datenlücken oder fehlende Beziehungen zeigen
  • Wenn du Datensätze ohne Übereinstimmung finden willst

SQL-Abfragebeispiel

SELECT 
    o.OrderID,
    c.Name,
    c.City,
    o.Product,
    o.OrderDate
FROM Orders o
LEFT JOIN Customers c ON o.CustomerID = c.CustomerID;

Ergebnis

OrderID Name City Product OrderDate
1 John Doe New York Laptop 2024-01-15
2 Jane Smith Los Angeles Maus 2024-01-16
3 NULL NULL Tastatur 2024-01-17

Wichtige Punkte:

  • Alle 3 Bestellungen erscheinen im Ergebnis (alle Daten der linken Tabelle bleiben erhalten)
  • OrderID 3 zeigt NULL bei den Kundendaten, weil CustomerID 3 in der Tabelle Customers nicht existiert
  • Praktisch, um Bestellungen ohne gültige Kundendaten zu finden

RIGHT JOIN

Ein RIGHT JOIN (auch RIGHT OUTER JOIN genannt) liefert alle Zeilen der rechten Tabelle plus alle übereinstimmenden Zeilen der linken Tabelle. Gibt es keine Übereinstimmung, erscheinen NULL-Werte in den Spalten der linken Tabelle.

Wann du RIGHT JOIN verwendest

  • Wenn du alle Datensätze der rechten Tabelle brauchst
  • Seltener als LEFT JOIN (lässt sich meist als LEFT JOIN umschreiben)
  • Praktisch, wenn die „Haupt“-Daten in der zweiten Tabelle liegen

SQL-Abfragebeispiel

SELECT 
    o.OrderID,
    c.Name,
    c.City,
    o.Product,
    o.OrderDate
FROM Orders o
RIGHT JOIN Customers c ON o.CustomerID = c.CustomerID;

Ergebnis

OrderID Name City Product OrderDate
1 John Doe New York Laptop 2024-01-15
2 Jane Smith Los Angeles Maus 2024-01-16
NULL Alex Johnson Chicago NULL NULL

Wichtige Punkte:

  • Alle 3 Kunden erscheinen im Ergebnis (alle Daten der rechten Tabelle bleiben erhalten)
  • Alex Johnson zeigt NULL bei den Bestelldaten, weil er noch keine Bestellung aufgegeben hat
  • Praktisch, um Kunden ohne Käufe zu finden

FULL OUTER JOIN

Ein FULL OUTER JOIN (oder einfach FULL JOIN) liefert alle Zeilen, sobald es in einer der beiden Tabellen eine Übereinstimmung gibt. Er kombiniert die Ergebnisse von LEFT und RIGHT Joins und zeigt NULL-Werte, wo es auf einer Seite keine Übereinstimmung gibt.

Wann du FULL OUTER JOIN verwendest

  • Wenn du alle Datensätze aus beiden Tabellen brauchst
  • Für umfassende Datenanalysen
  • Wenn du alle Beziehungen und Lücken zwischen Tabellen ermitteln willst

SQL-Abfragebeispiel

SELECT 
    o.OrderID,
    c.Name,
    c.City,
    o.Product,
    o.OrderDate
FROM Orders o
FULL OUTER JOIN Customers c ON o.CustomerID = c.CustomerID;

Ergebnis

OrderID Name City Product OrderDate
1 John Doe New York Laptop 2024-01-15
2 Jane Smith Los Angeles Maus 2024-01-16
3 NULL NULL Tastatur 2024-01-17
NULL Alex Johnson Chicago NULL NULL

Wichtige Punkte:

  • Alle 4 möglichen Zeilen erscheinen im Ergebnis
  • Zeigt sowohl verwaiste Bestellungen (OrderID 3) als auch Kunden ohne Bestellungen (Alex Johnson)
  • Vereint die umfassende Sicht von LEFT und RIGHT Joins
  • Das vollständigste Bild der Beziehung zwischen den Tabellen

Das Wichtigste in Kürze

Wer SQL Server Joins versteht, fragt Datenbanken effektiv ab. Hier eine Kurzübersicht:

Join-Typ Liefert Anwendungsfall
INNER JOIN Nur übereinstimmende Datensätze Am häufigsten; wenn du vollständige Beziehungen brauchst
LEFT JOIN Alle links + übereinstimmende rechts Wenn die linke Tabelle primär ist; fehlende Daten rechts finden
RIGHT JOIN Alle rechts + übereinstimmende links Seltener; wenn die rechte Tabelle primär ist
FULL OUTER JOIN Alle Datensätze aus beiden Vollständige Analyse; alle Beziehungen und Lücken finden

Best Practices

  1. Verwende Tabellen-Aliase (o für Orders, c für Customers), damit Abfragen übersichtlicher werden
  2. Starte mit INNER JOIN, wenn du unsicher bist, und passe dann je nach Anforderung an
  3. Nutze LEFT JOIN häufiger als RIGHT JOIN, das ist besser lesbar
  4. Gib die Join-Bedingung immer mit der ON-Klausel an
  5. Denk an die Performance – Joins auf indizierten Spalten sind schneller

Tipps zum Üben

So meisterst du SQL Server Joins:

  1. Starte mit kleinen Datensätzen wie in den Beispielen oben
  2. Zeichne Venn-Diagramme, um zu visualisieren, was jeder Join liefert
  3. Experimentiere mit verschiedenen Tabellenstrukturen und Beziehungen
  4. Übe mit SQL Server Management Studio oder Beekeeper Studio
  5. Teste Grenzfälle wie NULL-Werte und fehlende Beziehungen

Denk dran: Joins sind die Grundlage relationaler Datenbanken. Sobald du sie beherrschst, kannst du leistungsstarke Abfragen schreiben, die aussagekräftige Erkenntnisse aus deinen Daten gewinnen.

Beekeeper Studio ist eine kostenlose & quelloffene Datenbank-GUI

Das beste SQL-Abfrage- & Editor-Tool, das ich je benutzt habe. Es bietet alles, was ich zum Verwalten meiner Datenbank brauche. - ⭐⭐⭐⭐⭐ Mit

Beekeeper Studio ist schnell, intuitiv und einfach zu bedienen. Beekeeper unterstützt jede Menge Datenbanken und läuft hervorragend auf Windows, Mac und Linux.

Die Linux-Version von Beekeeper hat 100% des Funktionsumfangs, ohne Abstriche und ohne Kompromisse.

Was Nutzer über Beekeeper Studio sagen

★★★★★
„Beekeeper Studio hat meinen alten SQL-Workflow komplett ersetzt. Es ist schnell, intuitiv und macht die Arbeit mit Datenbanken wieder zum Vergnügen.“
— Alex K., Datenbankentwickler
★★★★★
„Ich habe viele Datenbank-GUIs ausprobiert, aber Beekeeper trifft genau die richtige Balance zwischen Funktionsumfang und Einfachheit. Es funktioniert einfach.“
— Sarah M., Full Stack Engineer

Bereit für einen besseren SQL-Workflow?

download Kostenlos herunterladen