Relationenalgebra und SQL: Outer-Join
Zur Navigation springen
Zur Suche springen
Im Gegensatz zum Equi-Join werden beim Outer-Join auch diejenigen Tupel der linken (left outer join) bzw. der rechten (right outer join) Relation in die Ergebnisrelation mit aufgenommen, welche keinen Join-Partner finden. Die nicht vorhandenen Attribute der Join-Relation werden mit Nullwerten aufgefüllt.
Die Kombination aus Left- und Right-Outer-Join wird Outer-Join oder Full-Outer-Join genannt. Dabei werden alle Tupel in die Ergebnisrelation aufgenommen und jene Attribute eines Tupels mit Nullwerten aufgefüllt, die keinen Join-Partner in der jeweils anderen Relation gefunden haben.
Der Outer-Join kann mit oder ohne (natural outer join) Join-Bedingung verwendet werden. Der Outer-Join wird auch Inklusionsverbund genannt.
Natural-Left-Outer-Join[Bearbeiten]
Beispiel[Bearbeiten]
|
|
|
SQL[Bearbeiten]
SELECT * FROM R NATURAL LEFT OUTER JOIN S;
Left-Outer-Join[Bearbeiten]
Beispiel[Bearbeiten]
|
|
|
SQL[Bearbeiten]
SELECT * FROM R LEFT OUTER JOIN S ON R.A=S.A;
Natural-Right-Outer-Join[Bearbeiten]
Beispiel[Bearbeiten]
|
|
|
SQL[Bearbeiten]
SELECT * FROM R NATURAL RIGHT OUTER JOIN S;
Right-Outer-Join[Bearbeiten]
Beispiel[Bearbeiten]
|
|
|
SQL[Bearbeiten]
SELECT * FROM R RIGHT OUTER JOIN S ON R.A=S.A;
Full-Outer-Join[Bearbeiten]
Beispiel[Bearbeiten]
|
|
|
SQL[Bearbeiten]
SELECT * FROM S FULL OUTER JOIN R USING(A);