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 » Schlüssel-Joins

 

Schlüssel-Joins von Tabellenausdrücken

SQL Anywhere generiert Join-Bedingungen für den Schlüssel-Join von Tabellenausdrücken, indem der Server die Fremdschlüsselbeziehung jedes Tabellenpaars in der Anweisung untersucht.

Folgendes Beispiel verknüpft vier Tabellenpaare:

SELECT *
FROM (A NATURAL JOIN B) KEY JOIN (C NATURAL JOIN D);

Die Tabellenpaare sind A-C, A-D, B-C und B-D. SQL Anywhere überprüft die Beziehung zwischen jedem Paar und erstellt dann eine generierte Join-Bedingung für den gesamten Tabellenausdruck. Wie SQL Anywhere dabei vorgeht, hängt davon ab, ob die Tabellenausdrücke Kommas verwenden. Die generierten Join-Bedingungen in den beiden folgenden Beispielen sind daher unterschiedlich. A JOINB ist ein Tabellenausdruck, der keine Kommas enthält, und (A,B) ist eine Tabellenausdrucksliste.

SELECT *
FROM (A JOIN B) KEY JOIN C;

Diese Join-Bedingung unterscheidet sich von der Folgenden:

SELECT *
FROM (A,B) KEY JOIN C;

Das Verhalten der beiden Join-Typen wird in den folgenden Abschnitten besprochen:


Schlüssel-Joins von Tabellenausdrücken ohne Kommas
Schlüssel-Joins von Tabellenausdruckslisten
Schlüssel-Joins von Listen und Tabellenausdrücken ohne Kommas