PostgreSQL LEFT JOIN (Español)

Resumen: En este tutorial, aprenderá cómo usar la cláusula PostgreSQL LEFT JOIN para seleccionar datos de varias tablas.

Introducción a la cláusula de unión izquierda de PostgreSQL

supongamos que tiene dos tablas: Ay B.,

Cada fila de la tabla A puede tener cero o muchos filas correspondientes de la tabla B mientras que cada fila de la tabla B tiene una y sólo una fila correspondiente en la tabla A .

para seleccionar datos de la tabla Aque pueden o no tener filas correspondientes en la tabla B, utilice la cláusula LEFT JOIN.,

la siguiente instrucción ilustra la sintaxis LEFT JOIN que une la tabla A con la tabla B :

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

para unirse a la tabla A con la tabla B usando una combinación izquierda, siga estos pasos:

  • primero, especifique las columnas en ambas tablas de las que desea seleccionar datos en la cláusula SELECT.
  • En segundo lugar, especifique la tabla izquierda (tabla A) en la cláusula FROM.,
  • En tercer lugar, especifique la tabla derecha (tabla B) en la cláusula LEFT JOIN y la condición de unión después de la palabra clave ON.

la cláusulaLEFT JOIN comienza a seleccionar datos de la tabla de la izquierda. Para cada fila en la tabla izquierda, compara el valor en la columna pka con el valor de cada fila en la columna fka en la tabla derecha.,

si estos valores son iguales, la cláusula LEFT join crea una nueva fila que contiene columnas que aparecen en la cláusula SELECT y agrega esta fila al conjunto de resultados.

en caso de que estos valores no sean iguales, la cláusula LEFT join también crea una nueva fila que contiene columnas que aparecen en la cláusula SELECT. Además, llena las columnas que vienen de la tabla derecha con NULL.,

El siguiente diagrama de Venn que ilustra cómo el LEFT JOIN cláusula de obras:

tenga en cuenta que el LEFT JOIN también se conoce como LEFT OUTER JOIN.

PostgreSQL LEFT JOIN examples

veamos las siguientes tablas film y inventory de la base de datos de ejemplo.,

Cada fila en el film tabla puede tener cero o el número de filas en el inventorytabla. Cada fila en la tabla inventory tiene una y solo una fila en la tabla film.

El film_id columna se establece el enlace entre el film y inventory tablas.,

La siguiente expresión se utiliza la etiqueta LEFT JOIN cláusula join film tabla con el inventorytabla:

Cuando una fila de la etiqueta film tabla no tiene una fila coincidente en la etiqueta inventorytabla, el valor de la etiqueta inventory_id columna de esta fila es el NULL.,

la siguiente instrucción agrega una cláusula WHERE para encontrar las películas que no están en el inventario:

la siguiente instrucción devuelve el mismo resultado., La diferencia es que utiliza los alias de tabla para hacer la consulta más concisa:

Si ambas tablas tienen el mismo nombre de columna utilizado en el ON cláusula, puede usar la sintaxis USING como esta:

esta técnica es útil cuando desea seleccionar filas de una tabla que no tienen filas coincidentes en otra tabla.

Deja una respuesta

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

Ir a la barra de herramientas