Cómo crear un USB booteable de Linux Mint 20.1 paso a paso
Las bases de datos relacionales como MySQL nos permiten combinar información de distintas tablas para obtener datos más completos y útiles.
En esta guía aprenderás, con ejemplos prácticos, a usar los principales tipos de uniones: INNER JOIN, LEFT JOIN, RIGHT JOIN y UNION.
Cada uno tiene su función y su propio comportamiento al combinar registros.
Un JOIN es una instrucción SQL que sirve para combinar filas de dos o más tablas basándose en una relación común entre ellas, generalmente mediante una clave foránea (foreign key).
Por ejemplo, si tienes una tabla empleados y otra departamentos, puedes unirlas usando un campo en común, como id_departamento.
El INNER JOIN muestra únicamente las filas que tienen coincidencias en ambas tablas.
Si un registro no tiene pareja en la otra tabla, no aparecerá en el resultado final.
SELECT e.nombre AS Empleado, d.nombre AS Departamento
FROM empleados AS e
INNER JOIN departamentos AS d
ON e.id_departamento = d.id;
Qué hace:
Combina las tablas empleados y departamentos.
Muestra solo los empleados que están asignados a un departamento existente.
Si un empleado no pertenece a ningún departamento, no se muestra.
💡 Cuándo usarlo:
Cuando quieres trabajar solo con registros que tengan coincidencias exactas entre ambas tablas.
El LEFT JOIN (o LEFT OUTER JOIN) devuelve todas las filas de la tabla izquierda, aunque no haya coincidencia en la tabla derecha.
Cuando no hay coincidencia, los valores de la tabla derecha aparecen como NULL.
SELECT e.nombre AS Empleado, d.nombre AS Departamento
FROM empleados AS e
LEFT JOIN departamentos AS d
ON e.id_departamento = d.id;
Qué hace:
Muestra todos los empleados, incluso los que no tienen departamento.
Si no existe coincidencia, la columna Departamento será NULL.
💡 Cuándo usarlo:
Cuando quieres ver todos los registros principales (empleados) aunque no tengan relación en la tabla secundaria (departamentos).
El RIGHT JOIN (o RIGHT OUTER JOIN) es lo opuesto al LEFT JOIN.
Devuelve todas las filas de la tabla derecha y las coincidencias de la izquierda.
Si no hay coincidencias, los campos de la tabla izquierda se mostrarán como NULL.
SELECT e.nombre AS Empleado, d.nombre AS Departamento
FROM empleados AS e
RIGHT JOIN departamentos AS d
ON e.id_departamento = d.id;
Qué hace:
Muestra todos los departamentos, incluso aquellos que no tienen empleados asignados.
Los valores de los empleados sin coincidencia aparecen como NULL.
💡 Cuándo usarlo:
Cuando quieres mantener todos los registros de la tabla derecha (por ejemplo, todos los departamentos), sin importar si hay coincidencias en la izquierda.
El operador UNION se utiliza para combinar los resultados de dos o más consultas SQL en una sola.
Ambas consultas deben tener el mismo número de columnas y tipos de datos compatibles.
Por defecto, UNION elimina los duplicados.
Si quieres incluirlos, puedes usar UNION ALL.
SELECT nombre FROM empleados
UNION
SELECT nombre FROM clientes;
Qué hace:
Devuelve una lista combinada de todos los nombres de empleados y clientes, sin duplicados.
Si deseas incluir los duplicados:
SELECT nombre FROM empleados
UNION ALL
SELECT nombre FROM clientes;
💡 Cuándo usarlo:
Cuando necesitas unir resultados similares de distintas tablas o consultas (por ejemplo, nombres, correos o ciudades comunes).
MySQL no tiene un comando nativo FULL OUTER JOIN, pero se puede simular combinando un LEFT JOIN y un RIGHT JOIN mediante UNION.
SELECT e.nombre AS Empleado, d.nombre AS Departamento
FROM empleados AS e
LEFT JOIN departamentos AS d
ON e.id_departamento = d.id
UNION
SELECT e.nombre AS Empleado, d.nombre AS Departamento
FROM empleados AS e
RIGHT JOIN departamentos AS d
ON e.id_departamento = d.id;
Qué hace:
Devuelve todas las filas de ambas tablas, incluidas las que no tienen coincidencias.
Funciona igual que un FULL OUTER JOIN tradicional.
![]() |
| Aprende a usar INNER JOIN, LEFT, RIGHT JOIN Y UNION en MySQL |
| Tipo de JOIN | Muestra coincidencias | Incluye filas sin coincidencia | Tabla prioritaria |
|---|---|---|---|
| INNER JOIN | ✅ Sí | ❌ No | Ninguna |
| LEFT JOIN | ✅ Sí | ✅ Sí (tabla izquierda) | Izquierda |
| RIGHT JOIN | ✅ Sí | ✅ Sí (tabla derecha) | Derecha |
| UNION | 🔄 Combina resultados de varias consultas | — | Ambas |
Usa alias cortos (e, d, c) para hacer las consultas más legibles.
Asegúrate de que las columnas que estás uniendo tengan tipos de datos compatibles.
Si una tabla tiene muchos registros, usa índices en las columnas que se usan en el ON.
Siempre prueba las consultas con LIMIT antes de ejecutar sobre grandes volúmenes de datos.
Recuerda que UNION elimina duplicados, lo cual puede impactar en el rendimiento si trabajas con grandes tablas.
Dominar INNER JOIN, LEFT JOIN, RIGHT JOIN y UNION en MySQL es esencial para trabajar de manera profesional con bases de datos.
Cada tipo de unión tiene un propósito específico:
INNER JOIN: solo coincidencias.
LEFT JOIN: mantiene todos los registros de la tabla izquierda.
RIGHT JOIN: mantiene los de la derecha.
UNION: combina resultados de múltiples consultas.
Y si necesitas un FULL OUTER JOIN, puedes simularlo fácilmente con LEFT JOIN + RIGHT JOIN + UNION.
Con estos comandos, podrás construir consultas más potentes, limpias y eficientes. 🚀
Comentarios
Publicar un comentario