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

SQL Anywhere 12.0.1 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Abfrage und Änderung von Daten » Joins: Daten aus mehreren Tabellen abrufen » Natürliche Joins

 

Natürliche Joins von Tabellenausdrücken

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.

 Natürliche Joins von Listen
 Beispiel