Operaciones con Conjuntos
Las operaciones con conjuntos en Transact-SQL permiten manipular y comparar conjuntos de resultados.
👉 Principales operadores:
- UNION
- EXCEPT
- INTERSECT
Requisitos
Requisitos importantes para trabajar con conjuntos:
- Las consultas a unir deben tener el mismo número de columnas y que éstas sean del mismo tipo de datos.
- Solo puede haber una cláusula ORDER BY en la consulta final.
🔹 UNION
Section titled “🔹 UNION”Devuelve la suma de dos o más conjuntos de resultados.
SELECT Nombre, Apellido1 , Apellido2, NifCif, FxNacimientoFROM EMPLEADOSUNIONSELECT Nombre, Apellido1 , Apellido2, NifCif, FxNacimientoFROM CLIENTESNota
UNION elimina duplicados por defecto (opera como DISTINCT).
Si quieres conservar todos los registros (incluidos duplicados), usa UNION ALL.
SELECT Nombre, Apellido1 , Apellido2, NifCif, FxNacimientoFROM EMPLEADOSUNION ALLSELECT Nombre, Apellido1 , Apellido2, NifCif, FxNacimientoFROM CLIENTES🔹 EXCEPT
Section titled “🔹 EXCEPT”Devuelve los registros de la primera consulta que no están en la segunda.
Es decir, hace una diferencia entre conjuntos.
SELECT Nombre, Apellido1 , Apellido2, NifCif, FxNacimientoFROM EMPLEADOSEXCEPTSELECT Nombre, Apellido1 , Apellido2, NifCif, FxNacimientoFROM CLIENTESNota
El uso de EXCEPT suele ser más rápido que utilizar condiciones con
NOT IN o NOT EXISTS en la cláusula WHERE.
🔹 INTERSECT
Section titled “🔹 INTERSECT”Devuelve los registros comunes entre dos o más conjuntos de resultados.
SELECT Nombre, Apellido1 , Apellido2, NifCif, FxNacimientoFROM EMPLEADOSINTERSECTSELECT Nombre, Apellido1 , Apellido2, NifCif, FxNacimientoFROM CLIENTES