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

 

Fehler bei der Verwendung von natürlichen Joins

Der NATURAL JOIN-Operator kann Probleme verursachen, indem er Spalten vergleicht, die Sie gar nicht vergleichen wollen. Folgende Abfrage generiert zum Beispiel nicht die gewünschten Ergebnisse:

SELECT *
FROM SalesOrders NATURAL JOIN Customers;

Das Ergebnis dieser Abfrage enthält keine Zeilen. SQL Anywhere erzeugt intern die folgende ON-Klausel:

FROM SalesOrders JOIN Customers
   ON SalesOrders.ID = Customers.ID

Die Spalte "ID" in der Tabelle "SalesOrders" ist eine Kennung für die Bestellung (order). Die Spalte "ID" in der Tabelle "Customers" ist eine Kennung für den Kunden (customer). Für keine der Kennungen wurde eine Übereinstimmung gefunden. Selbst wenn eine Übereinstimmung gefunden würde, wäre sie bedeutungslos.