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. Der Tabellenausdruck A JOIN B
wird mit C verknüpft. Der Tabellenausdruck A JOIN B
wird beibehalten und Tabelle C liefert auch Nullwerte.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |