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

SQL Anywhere 12.0.0 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Daten abfragen und ändern » Joins: Daten aus mehreren Tabellen abrufen

 

Natürliche Joins

Wenn Sie einen natürlichen Join festlegen, generiert SQL Anywhere eine Join-Bedingung, basierend auf Spalten mit demselben Namen. Damit dies in einem natürlichen Join von Basistabellen funktioniert, muss mindestens ein Spaltenpaar mit demselben Namen vorhanden sein, wobei aus jeder Tabelle jeweils eine Spalte stammt. Wenn kein gemeinsamer Spaltenname vorhanden ist, wird ein Fehler ausgegeben.

Tabelle A und Tabelle B haben einen gemeinsamen Spaltennamen, nämlich x:

SELECT *
FROM A NATURAL JOIN B;

Diese Anweisung entspricht folgender Anweisung:

SELECT *
FROM A JOIN B
 ON A.x = B.x;

Wenn Tabelle A und Tabelle B zwei gemeinsame Spaltennamen enthalten, die a und b heißen, ist A NATURAL JOIN B gleichwertig zur folgenden Anweisung:

A JOIN B
 ON A.a = B.a
 AND A.b = B.b;
 Beispiel 1
 Beispiel 2

Fehler bei der Verwendung von natürlichen Joins
Natürliche Joins mit ON-Klausel
Natürliche Joins von Tabellenausdrücken
Natürliche Joins von Ansichten und abgeleiteten Tabellen