Ansicht
Dokumentation
ABENJOIN_JOINS_ABEXA - JOIN JOINS ABEXA
RFUMSV00 - Advance Return for Tax on Sales/Purchases rdisp/max_wprun_time - Maximum work process run timeDiese Dokumentation steht unter dem Copyright der SAP AG.
SELECT, mehrfache Joins
Das Beispiel demonstriert die Verkettung und Klammerung mehrerer Joins in der SELECT-Anweisung.
Quelltext
Beschreibung
Verkettung von bis zu vier DDIC-Datenbanktabellen über innere, äußere und Cross Joins.
- Innerer Join zwischen den Tabellen DEMO_JOIN1 und DEMO_JOIN2. Die Ergebnismenge enthält drei Zeilen, in denen Spalte D von DEMO_JOIN1 und Spalte D von DEMO_JOIN2 den gleichen Inhalt haben.
- Innerer Join zwischen den Tabellen DEMO_JOIN3 und DEMO_JOIN4. Die Ergebnismenge enthält drei Zeilen, in denen Spalte L vonDEMO_JOIN3 und Spalte L von DEMO_JOIN4 den gleichen Inhalt haben.
- Äußerer Join zwischen der Ergebnismenge von Punkt 1 und der Tabelle DEMO_JOIN3. Die Ergebnismenge enthält drei Zeilen. Neben der Zeile, in der Spalte L vonDEMO_JOIN3 und Spalte D von DEMO_JOIN2 aus der Ergebnismenge von Punkt 1 den gleichen Inhalt haben, gibt es zwei Zeilen, in denen die Spalten von DEMO_JOIN3 mit Null-Werten gefüllt sind, da sie nicht die Join-Bedingung erfüllen. In Variante 3b verdeutlichen explizite Klammern die implizite Klammerung in Variante 3a.
- Innerer Join zwischen der Ergebnismenge von Punkt 3 und der Tabelle DEMO_JOIN4. Die Ergebnismenge enthält eine Zeile, in der Spalte L vonDEMO_JOIN4 und Spalte L von DEMO_JOIN3 aus der Ergebnismenge von Punkt 3 den gleichen Inhalt hat. In Variante 4b verdeutlichen explizite Klammern die implizite Klammerung in Variante 4a.
- Äußerer Join zwischen der Ergebnismenge von Punkt 1 und der Ergebnismenge von Punkt 2. Die Ergebnismenge enthält drei Zeilen. Die Ergebnismenge enthält drei Zeilen. Neben der Zeile, in der Spalte L von DEMO_JOIN3 aus der Ergebnismenge von Punkt 2 und Spalte D von DEMO_JOIN2 aus der Ergebnismenge von Punkt 1 den gleichen Inhalt haben, gibt es zwei Zeilen, in der die Spalten der Ergebnismenge von Punkt 2 mit Null-Werten gefüllt sind, da sie nicht die Join-Bedingung erfüllen. In Variante 5b verdeutlichen explizite Klammern die implizite Klammerung in Variante 5a.
- Cross Joins zwischen den Tabellen DEMO_JOIN1, DEMO_JOIN2 und DEMO_JOIN3. Die Ergebnismenge ist unabhängig von der durch Klammerung festgelegten Reihenfolge der Auswertung. Die Anzahl der Zeilen ergibt sich aus 4 x 3 x 3 = 36.
- Kombinationen eines Cross Joins mit einem rechts äußeren Join mit unterschiedlichen Ausführungsreihenfolgen.
- Die Klammerung in Variante 7b entspricht der impliziten Reihenfolge von Variante 7a. Zuerst wird der Cross Join ausgewertet und dessen Ergebnismenge über den rechts äußeren Join mit der DDIC-Datenbanktabelle DEMO_JOIN3 verknüpft.
- Die Klammerung in Variante 7c bewirkt ein anderes Ergebnis. Es wird ein Cross Join von DEMO_JOIN1 mit der Ergebnismenge des rechts äußeren Joins zwischen DEMO_JOIN2 und DEMO_JOIN3 gebildet. Die Anzahl der Zeilen berechnet sich aus 4 x 3 = 12.
ABAP Short Reference ABAP Short Reference
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 4228 Date: 20240523 Time: 180806 sap01-206 ( 77 ms )