SQL

Diferencia entre IINER JOIN y LEFT JOIN

Tanto INNER JOIN como LEFT JOIN son tipos de operaciones de unión en SQL que se utilizan para combinar dos o más tablas en una sola.

La principal diferencia entre ambas es que INNER JOIN solo devuelve las filas que tienen coincidencias en ambas tablas (es decir, solo devuelve las filas que tienen valores coincidentes en ambas tablas), mientras que LEFT JOIN devuelve todas las filas de la tabla izquierda y las coincidencias de la tabla derecha, si las hay.

En otras palabras, un INNER JOIN devuelve solo las filas que se unen correctamente, mientras que un LEFT JOIN devuelve todas las filas de la tabla de la izquierda (incluso si no hay coincidencias en la tabla de la derecha) y las filas que coinciden en la tabla de la derecha.

 

Ejemplos

Supongamos que tenemos dos tablas: «Empleados» y «Departamentos».

La tabla «Empleados» contiene información sobre los empleados de una empresa, incluyendo su ID, nombre y departamento (ID del departamento).

La tabla «Departamentos» contiene información sobre los departamentos de la empresa, incluyendo su ID y nombre.

 

INNER JOIN

Si quisiéramos obtener una lista de todos los empleados que tienen un departamento asignado y el nombre de ese departamento, podríamos utilizar un INNER JOIN de la siguiente manera:

SELECT Empleados.Nombre, Departamentos.Nombre AS Departamento 
FROM Empleados 
INNER JOIN Departamentos ON Empleados.Departamento = Departamentos.ID;

 

Esto devolvería solo las filas que tienen coincidencias en ambas tablas, es decir, solo los empleados que tienen un departamento asignado y el nombre de ese departamento.

Si un empleado no tiene un departamento asignado, NO se mostrará en los resultados.

 

 

LEFT JOIN

Para obtener una lista de todos los empleados y sus respectivos departamentos, podríamos utilizar un LEFT JOIN de la siguiente manera:

SELECT Empleados.Nombre, Departamentos.Nombre AS Departamento
FROM Empleados
LEFT JOIN Departamentos ON Empleados.Departamento = Departamentos.ID;

Esto devolvería una tabla que contiene todos los empleados, incluso aquellos que no tienen un departamento asignado, junto con el nombre de su departamento, si lo tienen.

Si no tienen departamento asignado, la columna «Departamento» sería NULL.

 

 

Suscríbete
Notify of
guest
0 Comentarios
Inline Feedbacks
Ver todos los comentarios
Botón volver arriba

sbobet