LEFT OUTER JOIN

LEFT OUTER JOIN permite realizar lecturas con uniones de tablas que excluyen de las condiciones de intersección la tabla indicada en la parte izquierda. Esta lección trata de enseñarle cómo aplicar esta instrucción en las sentencias de lectura Open SQL.

  • Sintaxis

… [(] {dbtab_left [AS tabalias_left]} | join
{[INNER] JOIN}|{LEFT [OUTER] JOIN}
{dbtab_right [AS tabalias_right] ON join_cond} [)] …  .

  • Efecto

La sintaxis de join es una expresión de unión recursiva. Una expresión join se compone de un lado izquierdo y un lado derecho, unidos utilizando cualquiera [INNER] JOIN o LEFT [OUTER] JOIN. Una expresión de unión puede ser una unión interna (INNER) o una unión externa (LEFT OUTER). Cada expresión de unión se puede encerrar entre paréntesis. Cuando se utiliza una expresión de unión, la instrucción SELECT no utiliza el buffer de SAP.
En el lado izquierdo, se puede especificar una tabla de base de datos transparente, una vista dbtab_left u otra combinación de expresión de unión. En el lado derecho, se debe especificar una sola tabla de base de datos transparente o una vista dbtab_right, junto con las condiciones de unión join_cond después de ON. De esta manera, es posible especificar un máximo de 24 expresiones de unión después de FROM; estas expresiones unen 25 tablas de base de datos transparentes o vistas conjuntamente. Las tablas agrupadas y de clúster no se pueden unir mediante expresiones de combinación.

  • Aplicación práctica

En la lógica del código fuente realizamos un SELECT con OUTER JOIN utilizando las tablas de base de datos ZSAPLANESA00001 y ZSFLIGHTSA0001 para obtener en una tabla interna estándar las columnas PLANETYPE de la primera tabla y CARRID, CONNID de la segunda tabla. En la misma sentencia de lectura ordenados de forma descendente por las columnas CARRID y CONNID.

  1. Implemente el código fuente.
  2. Ejecute el programa.01 12
  • Conclusión

Con LEFT OUTER JOIN se excluye de la intersección los registros de la tabla izquierda y por eso aparecen en blanco los valores de las columnas CARRID y CONNID para algunos tipos de avión PLANETYPE, es decir: se seleccionan de la tabla izquierda todos los registros que cumplen la condición del WHERE y de la tabla derecha sólo los registros que cumplen la condición ON de la intersección.

  • Notas

Si las columnas del lado derecho se especifican después de la adición ORDER BY, el orden de clasificación en el caso de valores nulos es determinado por el sistema de base de datos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *