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 JOIN
B
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
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |