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 » Funktionsweise von Joins

 

Mehr als zwei Tabellen mit einem Join verbinden

In SQL Anywhere gibt es keine feste Obergrenze für die Anzahl der Tabellen, die verknüpft werden können.

Wenn Sie mehr als zwei Tabellen verknüpfen, ist die Verwendung von Klammern optional. Wenn Sie keine Klammern verwenden, wertet SQL Anywhere die Anweisung von links nach rechts aus. Daher ist A JOIN B JOIN C äquivalent mit ( A JOIN B ) JOIN C. Auch die beiden folgenden SELECT-Anweisungen sind gleichwertig:

SELECT *
FROM A JOIN B JOIN C JOIN D;
SELECT *
FROM ( ( A JOIN B ) JOIN C ) JOIN D;

Wenn mehr als zwei Tabellen verknüpft werden, umfasst der Join Tabellenausdrücke. Im Beispiel A JOIN B JOIN C wird der Tabellenausdruck A JOIN B mit C verknüpft. Das bedeutet, konzeptuell gesehen, dass A und B verknüpft werden und dann das Ergebnis mit C verknüpft wird.

Die Reihenfolge von Joins ist wichtig, wenn der Tabellenausdruck Outer-Joins enthält. A JOIN B LEFT OUTER JOIN C wird beispielsweise als (A JOIN B) LEFT OUTER JOIN C interpretiert. Das bedeutet, dass der Tabellenausdruck A JOIN B mit C verknüpft wird. Der Tabellenausdruck A JOIN B wird beibehalten und Tabelle C liefert auch NULL-Zeilen.

Weitere Hinweise zu Outer-Joins finden Sie unter Outer-Joins.

Weitere Hinweise darüber, wie SQL Anywhere einen Schlüssel-Join von Tabellenausdrücken durchführt, finden Sie unter Schlüssel-Joins von Tabellenausdrücken.

Weitere Hinweise darüber, wie SQL Anywhere einen natürlichen Join von Tabellenausdrücken durchführt, finden Sie unter Natürliche Joins von Tabellenausdrücken.