Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Daten abfragen und ändern » Joins: Daten aus mehreren Tabellen abrufen

 

Cross-Joins

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.

Innere und äußere Modifizierer sind für Cross-Joins nicht anwendbar

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.


Kommas