INNER JOIN, LEFT RIGHT y UNION en MySQL
INNER JOIN, LEFT JOIN, RIGHT JOIN y UNION en MySQL: Guía completa
En esta publicación te enseño poco a poco cómo funciona una base de datos, en concreto como unir datos de dos o más tablas. ¿Te parece interesante?
Las bases de datos relacionales como MySQL permiten combinar datos de diferentes tablas utilizando diversas técnicas de unión. Entre las más importantes están INNER JOIN, LEFT JOIN, RIGHT JOIN y UNION.
📎Crear una base de datos en MySQL
![]() |
Aprende a usar INNER JOIN, LEFT, RIGHT JOIN Y UNION en MySQL |
1. INNER JOIN: Combina solo coincidencias
INNER JOIN devuelve solo las filas que tienen coincidencias en ambas tablas. Si una fila en una de las tablas no tiene un equivalente en la otra, no aparecerá en el resultado.
Ejemplo de uso:
SELECT e.nombre, d.nombreON
Esta consulta obtiene los empleados junto con el nombre de su departamento, pero solo si el departamento existe en la tabla departamentos
.
2. LEFT JOIN: Mantiene todos los registros de la tabla izquierda
LEFT JOIN (también conocido como LEFT OUTER JOIN) devuelve todos los registros de la tabla izquierda y las coincidencias de la tabla derecha. Si no hay coincidencias, los valores de la tabla derecha serán NULL
.
Ejemplo de uso:
SELECT e.nombre, d.nombredepartamentos as d
En este caso, se mostrarán todos los empleados, incluso si no están asignados a un departamento.
3. RIGHT JOIN: Mantiene todos los registros de la tabla derecha
RIGHT JOIN (o RIGHT OUTER JOIN) es lo opuesto a LEFT JOIN: devuelve todos los registros de la tabla derecha y las coincidencias de la tabla izquierda.
Si no hay coincidencias, los valores de la tabla izquierda serán NULL
.
Ejemplo de uso:
SELECT e.nombre, d.nombre FROM empleados as edepartamentos as d
ON e.id_departamento = d.id;
Aquí, la consulta muestra todos los departamentos, incluso si no tienen empleados asignados.
4. UNION: Combina resultados de múltiples consultas
UNION se usa para combinar los resultados de dos o más consultas sin duplicados. Ambas consultas deben tener la misma cantidad de columnas y tipos de datos compatibles.
Ejemplo de uso:
SELECT nombre FROM empleados as e
UNION
SELECT nombre FROM clientes as c;
Esta consulta devuelve una lista única con los nombres de empleados y clientes. Si quieres incluir duplicados, puedes usar UNION ALL
.
UNION ALL para incluir duplicados:
SELECT nombre FROM empleados
UNION ALL
SELECT nombre FROM clientes;
UNION para realizar un FULL OUTER JOIN
MySQL no tiene un operador FULL OUTER JOIN
nativo, pero podemos lograrlo combinando LEFT JOIN
, RIGHT JOIN
y UNION
.
Ejemplo de uso:
SELECT e.nombre, d.nombreUNION
Esta consulta devuelve todas las filas de ambas tablas, incluyendo aquellas que no tienen coincidencias en la otra tabla, logrando el equivalente a un FULL OUTER JOIN
.
INNER JOIN es útil cuando necesitas solo coincidencias, LEFT JOIN y RIGHT JOIN te permiten conservar datos de una de las tablas aunque no haya coincidencias, y UNION te ayuda a combinar resultados de varias consultas en una sola. Si necesitas un FULL OUTER JOIN, puedes simularlo usando UNION
entre LEFT JOIN
y RIGHT JOIN
. ¡Dominar estas operaciones mejorará enormemente tu capacidad de manejar bases de datos SQL! 🎯
Comentarios
Publicar un comentario