SQL LEFT JOIN (Español)
Resumen: En este tutorial, le presentaremos otro tipo de uniones llamadas SQL LEFT JOIN que le permite recuperar datos de varias tablas.
Introducción a la cláusula de unión izquierda de SQL
en el tutorial anterior, aprendió sobre la unión interna que devuelve filas si hay, al menos, una fila en ambas tablas que coincida con la condición de unión. La cláusula inner join elimina las filas que no coinciden con una fila de la otra tabla.,
la combinación izquierda, sin embargo, devuelve todas las filas de la tabla izquierda, independientemente de si hay o no una fila coincidente en la tabla derecha.
supongamos que tenemos dos tablas A y B. La tabla a tiene cuatro filas 1, 2, 3 y 4. La tabla B también tiene cuatro filas 3, 4, 5, 6.
cuando unimos la tabla a con la tabla B, todas las filas de la tabla a (la tabla de la izquierda) se incluyen en el conjunto de resultados, ya sea que haya una fila coincidente en la tabla B o no.
En SQL, utilice la siguiente sintaxis para unirse a la tabla con la tabla B.,
la cláusula JOIN izquierda aparece después de la cláusula FROM. La condición que sigue a la palabra clave ON se llama condición de unión B.n = A.n
SQL LEFT JOIN examples
SQL LEFT JOIN two tables examples
echemos un vistazo a las tablas countries
y locations
.
Cada lugar pertenece a un solo país, mientras que cada país puede tener cero o más ubicaciones., La relación entre las tablas de países y ubicaciones es de uno a muchos.
la columna country_id en la tabla locations es la clave foránea que enlaza a la columna country_id en la tabla countries.
Para consultar los nombres de los países de EEUU, reino unido y China, se utiliza la siguiente instrucción.,0bc»>
véalo en acción
la siguiente consulta recupera las ubicaciones ubicadas en los EE.>
véalo en acción
Ahora, usamos la cláusula de unión izquierda para unir la tabla de países con la tabla de ubicaciones como la siguiente consulta:
véalo en acción
la condición en la cláusula WHERE se aplica para que la instrucción solo recupere los datos de las filas de Estados Unidos, Reino Unido y China.,
debido a que usamos la cláusula JOIN izquierda, todas las filas que satisfacen la condición en la cláusula WHERE de la tabla countries se incluyen en el conjunto de resultados.
para cada fila en la tabla countries, la cláusula LEFT JOIN encuentra las filas coincidentes en la tabla locations.
si se encuentra al menos una fila coincidente, el motor de base de datos combina los datos de las columnas de las filas coincidentes en ambas tablas.
en caso de que no se encuentre una fila coincidente, por ejemplo, con el country_id CN, la fila en la tabla countries se incluye en el conjunto de resultados y la fila en la tabla locations se llena con valores NULL.,
dado que las filas que no coinciden en la tabla derecha se rellenan con los valores NULL, puede aplicar la cláusula JOIN de la izquierda a las filas que no coinciden entre tablas.
por ejemplo, para encontrar el país que no tiene ninguna ubicación en la tabla ubicaciones, utilice la siguiente consulta:
véalo en acción
SQL LEFT JOIN 3 tables Example
vea las siguientes tablas: regiones, países y ubicaciones.,
Una región puede tener cero o muchos países, mientras que cada país se encuentra en la región. La relación entre los cuadros de países y regiones es de uno a muchos. La columna region_id en la tabla countries es el enlace entre la tabla countries y regions.,
la siguiente instrucción demuestra cómo unir 3 tablas: regiones, países y ubicaciones:
véalo en acción
ahora debería tener una buena comprensión de cómo funciona la cláusula SQL LEFT JOIN y saber cómo aplique la cláusula de unión izquierda a los datos de consulta de varias tablas.
- ¿Fue útil este tutorial ?
- YesNo