Resumen: en este tutorial, aprenderá a utilizar la cláusula RIGHT JOIN de SQL Server para consultar datos de dos tablas.

Introducción a la cláusula RIGHT JOIN de SQL Server

El RIGHT JOIN combina datos de dos o más tablas. La cláusula RIGHT JOINcomienza a seleccionar los datos de la tabla de la derecha y los empareja con las filas de la tabla de la izquierda. La cláusula RIGHT JOIN devuelve un conjunto de resultados que incluye todas las filas de la tabla derecha, tengan o no filas coincidentes de la tabla izquierda. Si una fila de la tabla derecha no tiene ninguna fila coincidente de la tabla izquierda, la columna de la tabla izquierda en el conjunto de resultados tendrá nulos.

A continuación se muestra la sintaxis de la cláusula RIGHT JOIN:

Code language: SQL (Structured Query Language) (sql)

En esta sintaxis, T1 es la tabla izquierda y T2 es la tabla derecha.

Note que RIGHT JOIN y RIGHT OUTER JOIN es lo mismo. La palabra clave OUTER es opcional.

El siguiente diagrama de Venn ilustra la operación RIGHT JOIN:

Ejemplo de RIGHT JOIN de SQL Server

Utilizaremos la tabla sales.order_items y production.products de la base de datos de ejemplo para la demostración.

La siguiente sentencia devuelve todos los order_id de la tabla sales.order_items y el nombre del producto de la tabla production.products:

Code language: SQL (Structured Query Language) (sql)

Aquí está la salida:

La consulta devuelve todas las filas de la tabla production.products (tabla derecha) y las filas de la tabla sales.order_items (tabla izquierda). Si un producto no tiene ninguna venta, la columna order_id tendrá un nulo.

Para obtener los productos que no tienen ventas, se añade una cláusula WHERE a la consulta anterior para filtrar los productos que tienen ventas:

Code language: SQL (Structured Query Language) (sql)

La siguiente imagen muestra la salida:

El siguiente diagrama de Venn ilustra la operación RIGHT JOIN anterior:

En este tutorial, ha aprendido a utilizar el RIGHT JOIN de SQL Server para consultar datos de dos tablas.

Deja una respuesta

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