ARTICLE
Joins
The example demonstrates inner and outer joins
in the SELECT statement.
ABAP_SOURCE_CODE
ABAP_EXEC
ABAP_DESCRIPTION
Inner and outer joins between two tables DEMO_JOIN1 and
DEMO_JOIN2 , for which the last column of DEMO_JOIN1 is equated
with the first column of DEMO_JOIN2 in the join conditions. The
results are as follows:
demo1 demo2
----- -----
a1 b1 c1 uu uu e1 f1 g1 h1
a2 b2 c2 uu ww e2 f2 g2 h2
a3 b3 c3 vv xx e3 f3 g3 h3
a4 b4 c4 ww
demo1 INNER JOIN demo2 demo2 INNER JOIN demo1
---------------------- ----------------------
a1 b1 c1 uu uu e1 f1 g1 h1 a1 b1 c1 uu uu e1 f1 g1 h1
a2 b2 c2 uu uu e1 f1 g1 h1 a2 b2 c2 uu uu e1 f1 g1 h1
a4 b4 c4 ww ww e2 f2 g2 h2 a4 b4 c4 ww ww e2 f2 g2 h2
demo1 OUTER JOIN demo2 demo2 OUTER JOIN demo1
---------------------- ----------------------
a1 b1 c1 uu uu e1 f1 g1 h1 a1 b1 c1 uu uu e1 f1 g1 h1
a2 b2 c2 uu uu e1 f1 g1 h1 a2 b2 c2 uu uu e1 f1 g1 h1
a3 b3 c3 vv a4 b4 c4 ww ww e2 f2 g2 h2
a4 b4 c4 ww ww e2 f2 g2 h2 xx e3 f3 g3 h3
Both inner joins between the tables result in the same result set,
irrelevant of the order to the left or the right. There are three line
combinations for which the join condition is fulfilled.
The result sets of the two outer joins depends on the arrangement of the
tables on the left and right side. Apart from the three lines which the
inner join already produces, for each extra line on the left-hand side
an empty line (with null values) is created on the right-hand side. The
fact that the empty line is displayed on the left in the final result is
due to the structure of the internal table in the INTO clause, in
which the columns of DEMO_JOIN1 are always read in from the left
and those of DEMO_JOIN2 are always read in from the right. If the
* specification was used in the SELECT clause, and
CORRESPONDING FIELDS was not used in the INTO clause, the
result would be arranged differently.
Documentation extract taken from SAP system, � Copyright SAP AG. All rights reserved