You are here

Neuen Kommentar schreiben

Andere Join-Typen

Natural Join

    Verknüpft die Tabellen über die Gleichheit aller jeweils gleich benannten Felder/Spalten. Diese gleich benannte Felder/Spalten aus den zwei Tabellen werden im Ergebnis nur einmal angezeigt. Gibt es keine gleich benannten Felder/Spalten, wird der Natural Join zum kartesischen produkt, zum Cross Join.

    Für den Natural Join gibt es keinen speziellen SQL92-Befehl. Er kann jederzeit durch einen Inner Join bzw. Equal Join erzeugt werden.

Union Join

    Analog zu dem Full Outer Join werden alle Datensätze beider Tabellen aufgenommen. Im Unterschied dazu. werden sie aber nicht (über eine Bedingung) verknüpft.

    Der Union Join wird erst ab SQL 92 Intermediate Level direkt unterstützt.

    Beispiel:

SELECT *
FROM tverkauf a UNION JOIN tkunden b
ORDBER BY 1;
Semi Join

    Ist ein Natural Join zweier Tabellen, wobei in das ergebnis nur die Felder/Spalten der ersten Tabelle aufgenommen werden.

    Für den Natural Join gibt es keinen speziellen SQL92-Befehl. Er kann jederzeit durch einen Inner Join bzw. Equal Join erzeugt werden.

Theta Join, Non equivalent Join

    Analog zum Equal Join, nur dass anstatt einer Gleicheits-Bedingung eine Ungleicheitsbedingung verwendet wird.

    Beispiel:

SELECT a.vnum, a.vname, b.knum, b.kname
FROM tverkauf a INNER JOIN tkunden b ON a.vnum <= b.vnum
ORDER BY vnum;
Self Join
    Ein beliebiger Join bei dem die gleiche Tabelle mit sich selbst verknüpft wird.