Wenn auf mindestens einer Seite eines natürlichen Joins ein Ausdruck enthalten ist, der sich auf mehrere Tabellen bezieht, generiert SQL Anywhere eine Join-Bedingung, indem die Spaltengruppe auf den beiden Seiten des Join-Operators verglichen und nach Spalten gesucht wird, die denselben Namen haben.
Beispiel:
SELECT * FROM (A JOIN B) NATURAL JOIN (C JOIN D); |
Diese Anweisung enthält zwei Tabellenausdrücke. Die Spaltennamen im Tabellenausdruck A JOIN B
werden mit den Spaltennamen im Tabellenausdruck C JOIN D
verglichen, und für jedes unzweideutige Paar übereinstimmender Spaltennamen wird eine Join-Bedingung erstellt. Ein unzweideutiges Paar übereinstimmender Spalten bedeutet, dass der Spaltenname in beiden Tabellenausdrücken, nicht aber zwei Mal in demselben Tabellenausdruck vorkommt.
Wenn ein Paar zweideutiger Spaltennamen vorhanden ist, wird ein Fehler ausgegeben. Ein Spaltenname kann in einem Tabellenausdruck jedoch zwei Mal enthalten sein, sofern er nicht mit dem Namen einer Spalte aus dem anderen Tabellenausdruck übereinstimmt.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |