Resumen: En este tutorial, aprenderá sobre la cláusula SQL Server LEFT JOIN y cómo usarla para consultar datos de varias tablas.

introducción a la cláusula de unión izquierda de SQL Server

la cláusulaLEFT JOIN le permite consultar datos de varias tablas. Devuelve todas las filas de la tabla izquierda y las filas coincidentes de la tabla derecha. Si no se encuentran filas coincidentes en la tabla derecha, se usa NULL.,

lo siguiente ilustra cómo unir dos tablas T1 y T2 usando la cláusula LEFT JOIN:

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

en esta sintaxis, T1 y T2 son las tablas izquierda y derecha respectivamente.

para cada fila de la tabla T1, la consulta la compara con todas las filas de la tabla T2. Si un par de filas hace que el predicado de unión se evalúe como TRUE, los valores de columna de estas filas se combinarán para formar una nueva fila que luego se incluirá en el conjunto de resultados.,

si una fila de la tabla izquierda (T1) no tiene ninguna fila coincidente de la tabla T2, la consulta combina los valores de columna de la fila de la tabla izquierda con NULL para cada valor de columna de la tabla derecha.

En resumen, la cláusula LEFT JOIN devuelve todas las filas de la tabla izquierda (T1) y las filas coincidentes o NULL valores de la tabla derecha (T2).

lo siguiente ilustra el LEFT JOIN de dos tablas T1(1, 2, 3) y T2 (A, B, C)., El LEFT JOIN coincidirá las filas de la tabla T1 con las filas de la tabla T2 utilizando patrones:

en esta ilustración, ninguna fila de la tabla T2 coincide se utiliza la fila 1 de la tabla T1, por lo tanto, null. Las filas 2 y 3 de la tabla T1 coinciden con las filas A y B de la tabla T2 respectivamente.,

SQL Server LEFT JOIN ejemplo

el siguiente products y order_items tablas:

Cada posición de pedido de cliente incluye un producto. El enlace entre las tablas order_items y products es la columna product_id.,

la siguiente instrucción utiliza la cláusula LEFT JOIN para consultar datos de las tablas products y order_items:

como puede ver claramente en el conjunto de resultados, una lista de NULL en la columna order_id indica que los productos correspondientes aún no se han vendido a ningún cliente.

es posible utilizar la cláusula WHERE para limitar el conjunto de resultados., La siguiente consulta devuelve los productos que no aparecen en ningún pedido de venta:

como siempre, SQL Server procesa la cláusula WHERE

clause.,

The following example shows how to join three tables: production.products, sales.orders, and sales.order_items using the LEFT JOIN clauses:

Here is the output:

SQL Server LEFT JOIN: conditions in ON vs., Donde cláusula

la siguiente consulta encuentra los productos que pertenecen al ID de orden 100:

movamos la condición order_id = 100 a la cláusula ON:

la consulta devolvió todos los productos, pero solo el pedido con ID 100 tiene la información del producto asociada.,

tenga en cuenta que para la cláusula INNER JOIN, la condición en la cláusula ONes funcionalmente equivalente si se coloca en la cláusula WHERE.

en este tutorial, ha aprendido a usar la cláusula SQL Server LEFT JOIN para recuperar datos de varias tablas relacionadas.