Unterschied zwischen Inner Join und Outer Join in SQL

Autor: Laura McKinney
Erstelldatum: 2 April 2021
Aktualisierungsdatum: 10 Kann 2024
Anonim
SQL Joins: Difference Between Inner/Left/Right/Outer Joins
Video: SQL Joins: Difference Between Inner/Left/Right/Outer Joins

Inhalt


Innerer Join und äußerer Join sind beide Join-Typen. Join vergleicht und kombiniert Tupel aus zwei Relationen oder Tabellen. Inner Join gibt den natürlichen Join an, d. H., Wenn Sie eine Join-Klausel ohne das Schlüsselwort Inner schreiben, wird der natürliche Join-Vorgang ausgeführt. Der mögliche Unterschied zwischen Inner Join und Outer Join ist der folgende Inner Join gibt nur die passenden Tupel aus der Tabelle und dem zurück Äußere Verbindung Gibt alle Tupel aus beiden verglichenen Tabellen zurück. Lassen Sie uns einige andere Unterschiede zwischen Inner Join und Outer Join anhand der folgenden Vergleichstabelle erläutern.

  1. Vergleichstabelle
  2. Definition
  3. Hauptunterschiede
  4. Fazit

Vergleichstabelle

Grundlage für den VergleichInner JoinÄußere Verbindung
BasicInner Join gibt nur die passenden Tupel aus beiden Tabellen aus.Outer Join zeigt alle Tupel aus beiden Tabellen an.
DatenbankDie potenzielle Größe der von Inner Join zurückgegebenen Datenbank ist vergleichsweise kleiner als die von Outer Join.Outer Join gibt eine vergleichsweise größere Datenbank zurück.
TypenKeine Typen.Linke äußere Verbindung,
Right Outer Join Früher
und volles äußeres verbinden.


Definition von Inner Join

Inner Join wird auch als Natural Join bezeichnet. Inner Join vergleicht zwei Tabellen und kombiniert das passende Tupel in beiden Tabellen. Es wird auch als Standardtyp des Joins bezeichnet, da die Join-Klausel ohne das innere Schlüsselwort geschrieben wird, mit dem der natürliche Join ausgeführt wird. Wenn die Join-Klausel ohne das Schlüsselwort Outer geschrieben wird, wird auch der innere Join ausgeführt.

Inner Join kann mit einem Beispiel erklärt werden. Es gibt zwei Tabellen Studententabelle und Abteilungstabelle. Lassen Sie uns nun verstehen, was Inner Join leistet.

SELECT Name, Sem, Abteilungsname FROM Student INNER JOIN Abteilung ON Student.Department_ID = Abteilung.ID.


Sie können sehen, dass im Ergebnis nur die Tupel erhalten werden, bei denen Student.Department_ID = Department.ID. Daher können wir sagen, dass Inner Join nur das passende Tupel zweier Tabellen kombiniert.

Definition von Outer Join

Im Gegensatz zu Inner Join werden nur die Tupel ausgegeben, die in beiden verglichenen Tabellen dieselben Attributwerte aufweisen. Outer Join gibt alle Tupel beider Tabellen aus. Es gibt drei Arten von äußeren Verknüpfungen Linke äußere Verbindung, Right Outer Join, und Vollständige äußere Verbindung.

Lassen Sie uns sie eins nach dem anderen verstehen. Nehmen wir zuerst die linke äußere Verbindung.

Wählen Sie Name, Abteilungsname von Student Left Outer Join Department ON Student.Department_ID = Depoartment.ID.

Sie können sehen, dass alle Tupel aus der Schülertabelle im Ergebnis angezeigt werden.

Wählen Sie Name, Department_name von Department Right Outer Join Student ON Student.Department_ID = Depoartment.ID.

Sie können sehen, dass alle Tupel aus der Abteilungstabelle angezeigt werden.

Wählen Sie Name, Abteilungsname unter Student Full Outer Join Department aus. ON Student.Department_ID = Depoartment.ID.

Sie können beobachten, dass alle Tupel aus beiden Tabellen im Ergebnis angezeigt werden.

  1. Der grundlegende Unterschied zwischen dem Inner Join und dem Outer Join besteht darin, dass der Inner Join nur die übereinstimmenden Tupel aus den Tabellen vergleicht und kombiniert. Andererseits werden beim Outer Join alle Tupel aus beiden zu vergleichenden Tabellen verglichen und kombiniert.
  2. Die Datenbankgröße des Ergebnisses aus dem Inner Join ist kleiner als der Outer Join.
  3. Es gibt drei Arten von Outer Join Left Outer Join, Righ Outer Join und Full Outer Join. Aber inner Join hat keine solchen Typen.

Fazit:

Beide Joins sind sehr nützlich. Die Verwendung hängt von den Anforderungen des Benutzers ab.