Skip to content

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:

  1. Las consultas a unir deben tener el mismo número de columnas y que éstas sean del mismo tipo de datos.
  2. Solo puede haber una cláusula ORDER BY en la consulta final.

Devuelve la suma de dos o más conjuntos de resultados.

SELECT Nombre, Apellido1 , Apellido2, NifCif, FxNacimiento
FROM EMPLEADOS
UNION
SELECT Nombre, Apellido1 , Apellido2, NifCif, FxNacimiento
FROM CLIENTES

Nota

UNION elimina duplicados por defecto (opera como DISTINCT).
Si quieres conservar todos los registros (incluidos duplicados), usa UNION ALL.

SELECT Nombre, Apellido1 , Apellido2, NifCif, FxNacimiento
FROM EMPLEADOS
UNION ALL
SELECT Nombre, Apellido1 , Apellido2, NifCif, FxNacimiento
FROM CLIENTES

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, FxNacimiento
FROM EMPLEADOS
EXCEPT
SELECT Nombre, Apellido1 , Apellido2, NifCif, FxNacimiento
FROM CLIENTES

Nota

El uso de EXCEPT suele ser más rápido que utilizar condiciones con
NOT IN o NOT EXISTS en la cláusula WHERE.


Devuelve los registros comunes entre dos o más conjuntos de resultados.

SELECT Nombre, Apellido1 , Apellido2, NifCif, FxNacimiento
FROM EMPLEADOS
INTERSECT
SELECT Nombre, Apellido1 , Apellido2, NifCif, FxNacimiento
FROM CLIENTES