Ein Cross-Join von zwei Tabellen produziert alle möglichen Zeilenkombinationen aus den beiden Tabellen. Ein Cross-Join wird auch als Kreuzprodukt oder kartesisches Produkt bezeichnet.
Jede Zeile der ersten Tabelle erscheint einmal mit jeder Zeile der zweiten Tabelle. Daher ist die Anzahl der Zeilen in der Ergebnismenge das Produkt der Anzahl der Zeilen in der ersten Tabelle und der Anzahl der Zeilen in der zweiten Tabelle, abzüglich der Zeilen, die aufgrund von Einschränkungen einer WHERE-Klausel weggelassen werden.
Es ist nicht möglich, eine ON-Klausel mit Cross-Joins zu verwenden. Sie können jedoch Einschränkungen in einer WHERE-Klausel festlegen.
Außer bei zusätzlichen Einschränkungen in der WHERE-Klausel erscheinen immer alle Zeilen beider Tabellen im Ergebnis eines Cross-Joins. Die Schlüsselwörter INNER, LEFT OUTER und RIGHT OUTER sind daher auf Cross-Joins nicht anwendbar.
Folgende Anweisung verknüpft z.B. zwei Tabellen:
SELECT * FROM A CROSS JOIN B; |
Die Ergebnismenge dieser Abfrage umfasst alle Spalten in A und alle Spalten in B. In der Ergebnismenge befindet sich jeweils eine Zeile für jede Kombination einer Zeile in A und einer Zeile in B. Wenn A n Zeilen und B m Zeilen enthält, gibt die Abfrage n x m Zeilen zurück.
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 |