Zusammenfassung: In diesem Lernprogramm erfahren Sie, wie Sie den SQL Server FULL OUTER JOIN
um Daten aus zwei oder mehr Tabellen abzufragen.
Einführung in SQL Server Full Outer Join
Die FULL OUTER JOIN
gibt eine Ergebnismenge zurück, die Folgendes enthält Zeilen aus der linken und rechten Tabelle. Wenn für die Zeile in der linken Tabelle keine übereinstimmenden Zeilen vorhanden sind, haben die Spalten der rechten Tabelle Nullen. Wenn für die Zeile in der rechten Tabelle keine übereinstimmenden Zeilen vorhanden sind, enthält die Spalte der linken Tabelle Nullen.
Im Folgenden wird die Syntax von FULL OUTER JOIN
beim Verbinden zweier Tabellen T1
und T2
:
Code language: SQL (Structured Query Language) (sql)
Das Schlüsselwort OUTER
ist optional, sodass Sie es wie in der folgenden Abfrage gezeigt überspringen können:
Code language: SQL (Structured Query Language) (sql)
In dieser Syntax :
- Geben Sie zunächst die linke Tabelle
T1
in derFROM
-Klausel an. - Geben Sie zweitens die richtige Tabelle
T2
und ein Join-Prädikat an.
Das folgende Venn-Diagramm zeigt die FULL OUTER JOIN
von zwei Ergebnismengen:
Beispiel für eine vollständige äußere Verknüpfung von SQL Server
Lassen Sie uns eine Beispieltabelle einrichten, um die vollständige äußere Verknüpfung zu demonstrieren.
Erstellen Sie zunächst eine neue Schema mit dem Namen pm
, das für Projektmanagement steht.
Code language: SQL (Structured Query Language) (sql)
Erstellen Sie als Nächstes neue Tabellen mit dem Namen projects
und members
im Schema pm
:
Angenommen, jedes Mitglied kann nur teilnehmen in einem Projekt und jedes Projekt hat null oder mehr Mitglieder. Wenn sich ein Projekt in der Ideenphase befindet, ist daher kein Mitglied zugewiesen.
Fügen Sie dann einige Zeilen in die projects
und Tabellen:
Danach Daten aus den Tabellen projects
und members
abfragen:
Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)
Verwenden Sie abschließend die Tabellen FULL OUTER JOIN
, um Daten aus den Tabellen projects
und members
abzufragen:
Hier ist die Ausgabe:
In diesem Beispiel wurden bei der Abfrage Mitglieder zurückgegeben, die an Projekten teilnehmen, Mitglieder, die an keinem Projekt teilnehmen, und Projekte, die keine Mitglieder haben.
Um die Mitglieder zu finden, die nicht teilnehmen jedes Projekt und Projekte w Wenn Sie keine Mitglieder haben, fügen Sie der obigen Abfrage eine WHERE
-Klausel hinzu:
Das folgende Bild zeigt die Ausgabe:
Wie in der Ausgabe deutlich gezeigt, Jack Daniel
nimmt an keinem Projekt teil und Develop Mobile Sales Platform
hat keine Mitglieder.
In diesem Lernprogramm haben Sie gelernt, wie Sie SQL Server vollständig verwenden Join, um Daten aus zwei oder mehr Tabellen abzufragen.