Relationenalgebra und SQL: Semi-Join

Aus Wikibooks

Wechseln zu: Navigation, Suche
Wikibooks buchseite.svg Zurück zu "Natural-Join" | One wikibook.svg Hoch zu "Inhaltsverzeichnis" | Wikibooks buchseite.svg Vor zu "Outer-Join"


Der Semi Join berechnet den Anteil eines Natural Joins, welcher nach einer Reduktion auf die linke Relation übrig bleibt.

[Bearbeiten] Definition

Für zwei Relationen R(A1,...,An,B1,...,Bn) und S(B1,...,Bn,C1,...,Cn) ist das Ergebnis des natürlichen Verbundes

R \ \triangleright\!\!\!< S:= \{ r | r \in R \land s \in S \land r_{[B_1, ..., B_n]} =s_{[B_1, ..., B_n]} \}

[Bearbeiten] Beispiel

R:
A B C D
1 2 3 4
4 5 6 7
7 8 9 0
S:
A F G
1 2 3
7 8 9
SEMIJOIN (R, R.A = S.A, S):
A B C D
1 2 3 4
7 8 9 0

[Bearbeiten] SQL

SELECT A,B,C,D FROM R NATURAL JOIN S;

oder

SELECT R.A, R.B, R.C, R.D FROM R INNER JOIN S ON R.A = S.A;


Wikibooks buchseite.svg Zurück zu "Natural-Join" | One wikibook.svg Hoch zu "Inhaltsverzeichnis" | Wikibooks buchseite.svg Vor zu "Outer-Join"
Persönliche Werkzeuge