Junior
¿En qué se diferencia INNER JOIN de OUTER JOIN?
sobes.tech AI
Respuesta de la IA
INNER JOIN devuelve solo las filas que tienen coincidencias en ambas tablas según la condición de unión. Si en una de las tablas no hay una entrada correspondiente, esa fila no aparecerá en el resultado.
OUTER JOIN devuelve todas las filas de una tabla y las correspondientes de la otra, y si no hay coincidencias, en los lugares donde faltan datos aparecerán NULL. Hay tres tipos de OUTER JOIN:
- LEFT OUTER JOIN — todas las filas de la tabla izquierda + las coincidentes de la derecha;
- RIGHT OUTER JOIN — todas las filas de la tabla derecha + las coincidentes de la izquierda;
- FULL OUTER JOIN — todas las filas de ambas tablas, donde no hay coincidencias, NULL.
Ejemplo:
SELECT * FROM employees INNER JOIN departments ON employees.dept_id = departments.id;
-- devolverá solo empleados que tienen departamento
SELECT * FROM employees LEFT OUTER JOIN departments ON employees.dept_id = departments.id;
-- devolverá todos los empleados, incluso si no tienen departamento (en las columnas departments será NULL)