Resumen: en este tutorial, aprenderá a utilizar el RIGHT OUTER JOIN en Oracle para unir dos o más tablas.

Resumen de RIGHT OUTER JOIN en Oracle

Supongamos que tenemos dos tablas T1 y T2, la siguiente sentencia muestra cómo unir estas dos tablas utilizando la cláusula RIGHT OUTER JOIN en Oracle:

En esta sentencia, T1 y T2 son la tabla izquierda y derecha respectivamente.

La palabra clave OUTER es opcional por lo tanto el RIGHT OUTER JOIN y el RIGHT JOIN son lo mismo.

Así es como funciona el RIGHT OUTER JOIN.

Cada fila de la tabla T1 se compara con las filas de la tabla T2:

  • Si un par de filas satisface el predicado de unión, los valores de las columnas de ambas filas se combinan para hacer una fila de resultado que se incluye en el conjunto de resultados.
  • En caso de que una fila de la tabla T2 no coincida con ninguna fila de la tabla T1, los valores de las columnas de la fila de la tabla T2 se combinan con un valor NULL para cada columna de la fila de la tabla T1 para hacer la fila de resultado que luego se incluye también en el conjunto de resultados.

En otras palabras, un RIGHT OUTER JOIN devuelve todas las filas de la tabla de la derecha y también las filas coincidentes de la tabla de la izquierda.

Ejemplos de RIGHT OUTER JOIN de Oracle

Utilizaremos las tablas orders y employees de la base de datos de ejemplo para la demostración:

En este diagrama, un vendedor está a cargo de uno o más pedidos de venta. Sin embargo, algunos pedidos de venta pueden no estar a cargo de ningún vendedor.

El siguiente ejemplo recupera todos los vendedores y sus pedidos de venta si los hay:

El resultado incluye todos los empleados cuyo cargo es Sales Representative y sus pedidos.

Si un vendedor no está a cargo de ningún pedido de venta como Alice Wells, Charlotte Webb, las columnas order_id y status se rellenan con valores NULL.

Oracle RIGHT OUTER JOIN con cláusula USING

De forma similar a otras uniones como INNER JOIN, LEFT JOIN, se puede utilizar la cláusula USING para especificar qué columna debe comprobar la igualdad al unir tablas.

A continuación se ilustra la sintaxis de la cláusula RIGHT OUTER JOIN con la cláusula USING:

En esta consulta, las columnas enumeradas en la cláusula USING deben presentarse en ambas tablas T1 y T2.

La siguiente sentencia es equivalente a la anterior:

La siguiente sentencia demuestra cómo utilizar el RIGHT OUTER JOIN con la cláusula USING:

En este ejemplo, todos los clientes se incluyen en el conjunto de resultados. Si un cliente no tiene un pedido de venta, las columnas order_id y status se rellenan con valores NULL.

Oracle RIGHT JOIN: condición en la cláusula ON vs. WHERE

La siguiente sentencia obtiene los datos del empleado y del pedido del vendedor id 57.

La siguiente sentencia coloca la condición en la cláusula WHERE en lugar de la cláusula ON:

La consulta devuelve todos los empleados pero sólo el empleado id 57 tiene los datos del pedido relacionado.

Nota que con respecto a la INNER JOIN, la condición se coloca en la cláusula ON tiene el mismo efecto que se coloca en la cláusula WHERE.

En este tutorial, ha aprendido a utilizar el RIGHT OUTER JOIN en Oracle para consultar datos de múltiples tablas.

  • ¿Ha sido útil este tutorial?
  • SíNo

admin

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

lg