SQL Anywhere unterstützt folgende Klassen von verknüpften Tabellen:
CROSS JOIN Dieser Join-Typ von zwei Tabellen produziert alle möglichen Zeilenkombinationen aus den beiden Tabellen. Die Größe der Ergebnismenge ist die Anzahl der Zeilen in der ersten Tabelle multipliziert mit der Anzahl der Zeilen in der zweiten Tabelle. Ein Cross-Join wird auch als Kreuzprodukt oder kartesisches Produkt bezeichnet. Es ist nicht möglich, eine ON-Klausel mit einem CROSS JOIN zu verwenden.
KEY JOIN Diese Art von Join-Bedingung verwendet Fremdschlüssel-Beziehungen zwischen den Tabellen. Der Schlüssel-Join ist die Standardeinstellung, wenn das JOIN-Schlüsselwort ohne Angabe eines Join-Typs (Wie z.B. INNER, OUTER usw.) verwendet wird und keine ON-Klausel enthalten ist.
NATURAL JOIN Dieser Join wird automatisch basierend auf Spalten erzeugt, die denselben Namen haben.
Join mit ON-Klausel Dieser Join-Typ ist das Ergebnis von expliziten Spezifikation der Join-Bedingung in einer ON-Klausel. Bei der Verwendung mit einem Schlüssel-Join oder einem natürlichen Join enthält die Join-Bedingung sowohl die generierte Join-Bedingung als auch die explizite Join-Bedingung. Wenn das Schlüsselwort JOIN ohne die Schlüsselwörter KEY oder NATURAL verwendet wird, gibt es keine generierte Join-Bedingung. Weitere Hinweise finden Sie unter Explizite Join-Bedingungen (ON-Klausel).
Schlüssel-Joins, natürliche Joins und Joins mit einer ON-Klausel können durch die Angabe von INNER, LEFT OUTER, RIGHT OUTER oder FULL OUTER qualifiziert werden. Die Standardeinstellung ist INNER. Wenn Sie die Schlüsselwörter LEFT, RIGHT oder FULL verwenden, ist das Schlüsselwort OUTER optional.
In einem Inner-Join erfüllt jede Zeile im Ergebnis die Join-Bedingung.
In einem Links- oder Rechts-Outer-Join werden alle Zeilen für eine der Tabellen beibehalten, und für die andere Tabelle werden für die Zeilen, die die Join-Bedingung nicht erfüllen, NULL zurückgegeben. In einem Rechts-Outer-Join wird z.B. die rechte Seite beibehalten und die linke Seite liefert NULL.
In einem vollständigen Outer-Join werden alle Zeilen für beide Tabellen beibehalten, und Zeilen, die die Join-Bedingung nicht erfüllen, liefern NULL.
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |