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 » Spezielle Joins

 

Joins, die sich aus APPLY-Ausdrücken ergeben

Ein APPLY-Ausdruck bietet eine einfache Möglichkeit, Joins anzugeben, bei denen die rechte Seite von der linken Seite abhängig ist. Verwenden Sie zum Beispiel einen APPLY-Ausdruck, um eine Prozedur oder eine abgeleitete Tabelle für jede Zeile in einem Tabellenausdruck auszuwerten. APPLY-Ausdrücke werden in die FROM-Klausel einer SELECT-Anweisung platziert und erlauben keine Verwendung einer ON-Klausel.

APPLY verbindet Zeilen von mehreren Quellen, ähnlich wie JOIN, nur dass Sie bei APPLY keine ON-Bedingung angeben können. Der Hauptunterschied zwischen APPLY und JOIN besteht darin, dass sich die rechte Seite von APPLY abhängig von der aktuellen Zeile auf der linken Seite ändern kann. Für beide Zeilen auf der linken Seite wird die rechte Seite neu berechnet, und die resultierenden Zeilen werden mit der Zeile links verknüpft. Falls eine Zeile auf der linken Seite mehr als eine Zeile rechts zurückgibt, kommt die linke Seite in den Ergebnissen so oft vor, wie es von rechts zurückgegebene Zeilen gibt.

Es gibt zwei APPLY-Typen, die Sie angeben können: CROSS APPLY und OUTER APPLY. CROSS APPLY gibt nur Zeilen auf der linken Seite zurück, die Ergebnisse auf der rechten Seite produzieren. OUTER APPLY gibt alle Zeilen zurück, die CROSS APPLY zurückgibt, sowie alle Zeilen auf der linken Seite, für die die rechte Seite keine Zeilen zurückgibt (indem NULL-Werte für die rechte Seite geliefert werden).

Die Syntax eines APPLY-Ausdrucks lautet folgendermaßen:

Tabellenausdruck { CROSS | OUTER } APPLY Tabellenausdruck
 Beispiel
 Siehe auch