Operaciones de conjunto

Combina resultados de múltiples consultas SELECT con UNION, encuentra filas comunes con INTERSECT y obtén diferencias entre conjuntos con EXCEPT.

Las operaciones de conjunto en SQL permiten combinar los resultados de varias consultas SELECT independientes en un único conjunto de filas, operando sobre ellos de la misma forma que la teoría de conjuntos opera sobre grupos de elementos. Son una herramienta muy útil cuando necesitas consolidar datos provenientes de tablas con estructuras similares o buscar coincidencias y diferencias entre dos consultas.

Esta sección explica UNION y UNION ALL para unir resultados eliminando o manteniendo duplicados respectivamente, INTERSECT para obtener solo las filas que aparecen en ambas consultas, y EXCEPT para obtener las filas del primer conjunto que no aparecen en el segundo. Aunque INTERSECT y EXCEPT tienen soporte limitado en versiones anteriores de MySQL, a partir de MySQL 8.0.31 están disponibles de forma nativa.

Entender estas operaciones te da una perspectiva más matemática y expresiva del lenguaje SQL, y te permite resolver ciertos tipos de consultas de forma más limpia y directa que con joins o subconsultas. Son especialmente útiles en migraciones de datos, auditorías y comparaciones entre tablas en entornos MySQL.

Artículos