Empfohlen, 2024

Tipp Der Redaktion

Unterschied zwischen Inner Join und Outer Join in SQL

Inner Join und Outer Join sind beide Arten von Join. Join vergleicht und kombiniert Tupel aus zwei Relationen oder Tabellen. Inner Join gibt den natürlichen Join an, dh wenn Sie eine Join-Klausel ohne Inner-Schlüsselwort schreiben, führt sie den natürlichen Join-Vorgang aus. Der potenzielle Unterschied zwischen Inner Join und Outer Join besteht darin, dass Inner Join nur die übereinstimmenden Tupel aus der Tabelle zurückgibt und der Outer Join alle Tupel aus beiden verglichenen Tabellen zurückgibt. Lassen Sie uns einige andere Unterschiede zwischen Inner Join und Outer Join anhand der untenstehenden Vergleichstabelle diskutieren.

Vergleichstabelle

VergleichsgrundlageInner JoinÄußeres Join
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 geringer als die äußere Verknüpfung.Äußerer Join gibt eine vergleichsweise größere Datenbank zurück.
TypenKeine artenLinke äußere Verbindung,
Right Outer Join,
und Full Outer Join.

Definition von Inner Join

Inner Join wird auch als Natural Join bezeichnet. Inner Join vergleicht zwei Tabellen und kombiniert das entsprechende Tupel in beiden Tabellen. Sie wird auch als Standard-Join-Typ bezeichnet, da die Join-Klausel ohne das innere Schlüsselwort geschrieben wird, durch das der natürliche Join ausgeführt wird. Wenn die Join-Klausel ohne äußeres Schlüsselwort geschrieben wird, wird auch ein innerer Join ausgeführt.

Inner Join kann mit einem Beispiel erklärt werden. Es gibt zwei Tische Schülertisch und Abteilungstabelle. Lassen Sie uns nun verstehen, was der innere Join leistet.

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

Sie können sehen, dass nur diese Tupel im Ergebnis erhalten werden, wobei Student.Department_ID = Department.ID ist. Daher können wir sagen, dass Inner Join nur das passende Tupel von zwei Tabellen kombiniert.

Definition von Outer Join

Im Gegensatz zu Inner Join werden nur die Tupel ausgegeben, die in beiden Attributen die gleichen Attributwerte haben. Outer Join gibt alle Tupel der Tabelle aus. Äußere Verbindung besteht aus drei Arten: linke äußere Verbindung, rechte äußere Verbindung und vollständige äußere Verbindung .

Lass uns sie einzeln verstehen. Nehmen wir zuerst den Left Outer Join.

Wählen Sie Name, Abteilungsname von der Schülerin aus, die sich außerhalb der Abteilung befindet. 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, Abteilungsname aus Abteilungsaußenseite, Äußer Schüler beitreten. ON Student.Department_ID = Depoartment.ID.

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

Wählen Sie Name, Abteilungsname von der vollständigen äußeren Äußerungsabteilung der Schüler aus. ON Student.Department_ID = Depoartment.ID.

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

Hauptunterschiede zwischen Inner Join und Outer Join

  1. Der grundlegende Unterschied zwischen Inner Join und Outer Join besteht darin, dass Inner Join nur die passenden Tupel aus den Tabellen vergleicht und kombiniert. Auf der anderen Seite vergleicht der Outer Join alle Tupel der beiden verglichenen Tabellen.
  2. Die Datenbankgröße des Ergebnisses aus der inneren Verknüpfung ist kleiner als die äußere Verknüpfung.
  3. Es gibt drei Arten der äußeren äußeren äußeren Verbindung, der rechten äußeren Verbindung und der vollständigen äußeren Verbindung. Inner Join hat jedoch keine solchen Typen.

Fazit:

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

Top