// //

Diferencias entre INNER JOIN y OUTER JOIN

Hola comunidad, hoy les quiero exponer este tema que en algunos causa algo de confusión el manejo de estos términos así que les muestro este aporte para que quede perfectamente entendido el tema expuesto.

Función INNER JOIN: esta función nos traira la intersección entre dos tablas Tbl1 y Tbl2, osea prácticamente los datos que se repitan entre una tabla y otra.

Función OUTER JOIN: esta función nos traira la unión de información entre las tablas Tbl1 y Tbl2 mas la parte de información exterior de alguna de tablas o incluso de ambas según sea el tipo de OUTER JOIN que se haga ya que existen 3 tipos RIGHT LEFT y FULL.

Para ejemplificar lo anterior pasemos a realizar el siguiente ejercicio...



Tenemos 2 tablas con la siguiente información:

TBL1
TBL2
ID
ID
a
c
b
d
c
e
d
f


Veamos que (a,b) son únicos en TBL1, (c,d) son registros en comun y (e,f) son unicos en TBL2

INNER JOIN

SELECT * FROM tbl1 INNER JOIN tbl2
ON tbl1~id = tbl2~id.

TBL1
TBL2
ID
ID
c
c
d
d

LEFT OUTER JOIN

SELECT * FROM tbl1 LEFT OUTER JOIN tbl2
ON tbl1~id = tbl2~id.

TBL1
TBL2
ID
ID
a
null
b
null
c
c
d
d


*En ABAP solo se permite el LEFT OUTER JOIN y el INNER JOIN

RIGHT OUTER JOIN

SELECT * FROM tbl1 RIGHT OUTER JOIN tbl2
ON tbl1~id = tbl2~id.



TBL1
TBL2
ID
ID
c
c
d
d
null
e
null
f

FULL OUTER JOIN

SELECT * FROM tbl1 FULL OUTER JOIN tbl2
ON tbl1~id = tbl2~id.



TBL1
TBL2
ID
ID
a
null
b
null
c
c
d
d
null
e
null
f


Nota: 

Como menciono con anterioridad el RIGHT OUTER JOIN y el FULL OUTER JOIN no son válidas en ABAP, el mencionarlas fue para ejemplificar las derivaciones que hay de esas funciones y los alcances que tiene en un manejo a nivel SQL.********


Además como información adicional para saber puntualmente donde se implementan estos tipos de funciones comento lo siguiente:


Vistas de Base de Datos (Database Views): Implementan un INNER JOIN
Vistas de Ayuda (Help Views) y Vistas de Mantenimiento (Maintenance Views): Implementan OUTER JOINS


Espero sea de su agrado la información aquí plasmada.
Saludos.

Alvan1 (Ricardo Alvan Perez Sanchez)