Übersicht über die Arten von Joins in SQL Server

Die Join-Klausel, das JOIN-Schlüsselwort, führt mehrere Tabellen zu einer Ergebnismenge zusammen. Die FROM-Klausel muss alle Tabellen enthalten. Trennt jede Tabelle durch eine Komma-WHERE-Klausel, die normalerweise enthalten ist.

Wir können den Booleschen Ausdruck einfügen, der true oder false zurückgibt, und diese Ausdrücke können sich auf Spalten in allen Tabellen beziehen.

Arten von Joins in SQL Server

Es gibt verschiedene Arten von Joins

  • CROSS JOIN
  • INNER JOIN
  • OUTER JOIN
  1. LINKE ÄUSSERE VERBINDUNG
  2. RICHTIG AUSSEN VERBINDEN
  • KOMPLETTE AUSSENVERBINDUNG
  • SELBST VERBINDEN

Lassen Sie uns jede dieser Verknüpfungen im Detail verstehen:

1) Cross Join

  • Dies ist der einfachste JOIN
  • Es werden alle Zeilen aus beiden Tabellen zurückgegeben
  • Keine WHERE-Klausel
  • Dies ist auch am wenigsten nützlich
  • Es ist sehr ineffizient
  • Es entsteht ein kartesisches Produkt
  • CROSS-Schlüsselwort impliziert

Beispiel

Also alle aus der ersten Tabelle mit allen Daten aus der zweiten Tabelle, ohne irgendeine Art von Abgleich zu versuchen, also ist dies das, was Sie nicht tun möchten.

Suchen Sie nach der FROM-Klausel, in der Sie mehrere Tabellen haben und es keine WHERE-Klausel gibt.

2) Inner Join

Abfrageausgabe:

Ihre ersten und letzten Zeilen haben koordinierende Werte für C2. Die mittleren Reihen treffen sich normalerweise nicht. Das Ergebnis des letzten Abschnitts enthält alle Werte in der ersten und in der letzten Zeile. Diese nicht übereinstimmende mittlere Abschnittszeile ist jedoch nicht enthalten.

  • Dies ist das typischste JOIN
  • Dies betonte den relationalen Charakter der Datenbank
  • Es ermöglicht uns, den Spaltenwert in einer der Tabellen mit dem Spaltenwert in einer anderen Tabelle abzugleichen.
  • Der Primärschlüssel in einer der Tabellen und ein Fremdschlüssel in einer der anderen Tabellen.

Beispiel

Hier ist p.person_id unser Primärschlüssel in unserer Personentabelle,

email_address_person_id ist unser Fremdschlüssel in der E-Mail-Adressentabelle.

Werfen wir einen Blick auf die Personentabelle

Wir haben diese vier Reihen. Und dann alle Übereinstimmungen in der E-Mail-Adressentabelle.

Am Ende sollten also drei Leute kommen, denn wir haben eine Person namens Shannon, die keine E-Mail-Adresse hat

Abfrageausgabe:

Wir erhalten also nur die Daten, bei denen eine Übereinstimmung zwischen den beiden Spalten in jeder der Tabellen besteht

3) Äußere Verbindung

  • Der INNER JOIN behandelt keine NULL-Werte
  • Der OUTER JOIN funktioniert auch dann, wenn in der zweiten Tabelle keine Übereinstimmung vorliegt.
  • NULL-Spalten, wenn in der zweiten Tabelle keine Übereinstimmung vorliegt
  • FULL OUTER JOIN gibt alle verbundenen Zeilen zurück
  • NULL, wenn in keiner Tabelle eine Übereinstimmung vorliegt

a) Linke äußere Verbindung

Abfrageausgabe: Sie befinden sich am Anfang und die letzten Zeilen haben koordinierende Werte für C2. Die mittleren Reihen treffen sich normalerweise nicht. Das letzte Endergebnis kann alle Zeilen der ersten Tabelle enthalten, lässt jedoch die nicht übereinstimmende Zeile in der zweiten Tabelle aus.

  • Noch ein NULL-bezogener JOIN
  • Alle Zeilen von der linken Seite werden zurückgegeben
  • NULL für nicht passenden rechten Beistelltisch

Beispiel

Abfrageausgabe:

Sie bemerken, dass die Personentabelle eine Zeile enthält, die keine Werte in der E-Mail-Adressentabelle enthält. Also wird uns der LINKE AUSSENVERBAND geben.

b) Rechte äußere Verbindung

Abfrageausgabe:

Sie befinden sich am Anfang und die letzten Zeilen haben koordinierende Werte für C2. Die mittleren Reihen treffen sich normalerweise nicht. Das letzte Endergebnis kann alle Zeilen der zweiten Tabelle enthalten, lässt jedoch die nicht übereinstimmende Zeile in der ersten Tabelle aus.

  • Gegenteil von LEFT OUTER JOIN
  • Alle Zeilen von der rechten Seite werden zurückgegeben
  • NULL für einen nicht passenden linken Beistelltisch

Beispiel Abfrageausgabe:

Wir erhalten drei Ergebnisse. Hier ist unser RIGHT OUTER JOIN-Ergebnis, bei dem wir die Zeile aus der E-Mail-Adressentabelle haben, die keine entsprechende Zeile in der rechten Tabelle enthält.

4) Vollständige äußere Verbindung

Beispiel

Abfrageausgabe:

Wir können das Ergebnis von LEFT OUTER JOIN und RIGHT OUTER JOIN kombinieren

5) Self Join

  • SELBST ist kein Schlüsselwort. Es ist genau diese Idee, dass man einen Tisch auf sich stellen kann
  • Seltsam, aber manchmal nützlich
  • Keine spezielle Syntax
  • Dieselbe Tabelle auf der linken und rechten Seite von JOIN
  • Nützlich, wenn eine Tabelle hierarchische Daten enthält

Beispiel

WÄHLEN *

FROM Bestellungen

Abonnements beitreten

ON orders.subscription_id = subscriptions.subscription_id;

Wir erhalten die Tabelle "orders" und "subscriptions" und verbinden die Tabelle mit SELECT all columns.

Um das Ergebnis zu erhalten.

Fazit:

Joins sind die Art und Weise, wie wir das relationale Modell zum Leben erwecken. Beim relationalen Modell geht es darum, dass Daten herausgetrennt, in mehrere Tabellen normalisiert, aber wieder zusammengeführt werden können, wenn wir diese Beziehungen sehen möchten. Und die verschiedenen Arten von Joins ermöglichen es uns, dies auf leicht unterschiedliche Weise zu tun.

Empfohlene Artikel

Dies war eine Anleitung zu den Join-Typen im SQL Server. Hier diskutieren wir die Übersicht und Arten von Joins in SQL mit ihren Beispielen. Sie können auch unsere anderen Artikelvorschläge durchgehen, um mehr zu erfahren -

  1. Was ist SQL Server?
  2. Karriere in SQL Server
  3. PL SQL-Schulung
  4. MySQL-Operatoren
  5. Top 6 Arten von Joins in MySQL mit Beispielen