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:

  • Veamos que (a,b) son unicos 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.

LEFT OUTER JOIN

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

*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.

FULL OUTER JOIN

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

Nota: Como menciono con anterioridad el RIGHT OUTER JOIN y el FULL OUTER JOIN no son validas 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.********

Ademas como información adicional para saber puntualmente donde se implementas 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.

30 Me gusta