JOINS in SQL Server: Tutorial mit Beispielen
Mit der JOIN-Anweisung können wir Daten aus mehr als einer Tabelle abrufen. Es gibt hauptsächlich 4 verschiedene Arten von JOINS in SQL Server. Wir werden alle JOINS lernen SQL Server mit Beispielen:
- INNER JOIN/einfacher Join
- LINKER ÄUSSERER JOIN/LINKER JOIN
- RECHTER ÄUSSERER JOIN/RECHTER JOIN
- KOMPLETTE AUSSENVERBINDUNG
INNER JOIN
Dieser SQL Server JOIN-Typ gibt Zeilen aus allen Tabellen zurück, in denen die Join-Bedingung erfüllt ist. Er verwendet die folgende Syntax:
SELECT columns FROM table_1 INNER JOIN table_2 ON table_1.column = table_2.column;
Zur Veranschaulichung verwenden wir die folgenden beiden Tabellen:
Schülertisch:
Gebührentabelle:
Der folgende Befehl demonstriert einen INNER JOIN in SQL Server anhand eines Beispiels:
SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid FROM Students INNER JOIN Fee ON Students.admission = Fee.admission
Der Befehl gibt Folgendes zurück:
Wir können den Studierenden mitteilen, wer ihren Beitrag bezahlt hat. Wir haben in beiden Tabellen die Spalte mit gemeinsamen Werten verwendet, die Zulassungsspalte.
LEFT OUTER JOIN
Dieser Join-Typ gibt alle Zeilen aus der linken Tabelle sowie Datensätze in der rechten Tabelle mit übereinstimmenden Werten zurück. Zum Beispiel:
SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid FROM Students LEFT OUTER JOIN Fee ON Students.admission = Fee.admission
Der Code gibt Folgendes zurück:
Die Datensätze ohne übereinstimmende Werte werden in den entsprechenden Spalten durch NULL-Werte ersetzt.
RECHTER ÄUSSERER JOIN
Dieser Join-Typ gibt alle Zeilen aus der rechten Tabelle zurück und nur diejenigen mit übereinstimmenden Werten in der linken Tabelle. Zum Beispiel:
SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid FROM Students RIGHT OUTER JOIN Fee ON Students.admission = Fee.admission
Die Anweisung für OUTER JOINS SQL Server gibt Folgendes zurück:
Der Grund für die obige Ausgabe ist, dass alle Zeilen in der Gebührentabelle in der Studententabelle verfügbar sind, wenn sie in der Zulassungsspalte abgeglichen werden.
KOMPLETTE AUSSENVERBINDUNG
Dieser Join-Typ gibt alle Zeilen aus beiden Tabellen mit NULL-Werten zurück, wenn die JOIN-Bedingung nicht wahr ist. Zum Beispiel:
SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid FROM Students FULL OUTER JOIN Fee ON Students.admission = Fee.admission
Der Code gibt das folgende Ergebnis für FULL OUTER JOINS-Abfragen zurück in SQL: