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.
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 |