ADF

Consultas III: UNION-EXCEPT-INTERSECT

Consultas de operaciones con conjuntos.


A partir de SQL Server 2005 se permiten tres tipos de operaciones con conjuntos:

UNION: Disponible en todas las versiones de SQL Server, es ademas el mas usado.
EXCEPT: Nuevo en SQL Server 2005.
INTERSECT: Nuevo en SQL Server 2005.

Para utilizar operaciones de conjuntos debemos cumplir una serie de normas.
Las consultas a unir deben tener el mismo número campos, y además los campos deben ser del mismo tipo.
Sólo puede haber una única clausula ORDER BY al final de la sentencia SELECT.

UNION


UNION devuelve la suma de dos o más conjuntos de resultados. 
El conjunto obtenido como resultado de UNION tiene la misma estructura que los conjuntos originales.
El siguiente ejemplo muestra el uso de UNION

SELECT Nombre, ApellPaterno , ApellMaterno, FechaNacimiento
FROM EMPLEADOS
UNION SELECT Nombre, ApellPaterno , ApellMaterno, FechaNacimiento  
FROM CLIENTES



Cuando realizamos una consulta con UNION internamente se realiza una operacion DISTINCT sobre el conjunto de resultados final. Si queremos obtener todos los valores debemos utilizar 
UNION ALL.

 UNION ALL

SELECT Nombre, ApellPaterno , ApellMaterno, FechaNacimiento
FROM EMPLEADOS
UNION ALLSELECT Nombre, ApellPaterno , ApellMaterno, FechaNacimiento  
FROM CLIENTES 

EXCEPT


EXCEPT devuelve la diferencia (resta) de dos o más conjuntos de resultados. El conjunto obtenido como resultado de EXCEPT tiene la misma estructura que los conjuntos originales.
El siguiente ejemplo muestra el uso de EXCEPT

SELECT Nombre, ApellPaterno , ApellMaterno, FechaNacimiento
FROM EMPLEADOS
EXCEPTSELECT Nombre, ApellPaterno , ApellMaterno, FechaNacimiento  
FROM CLIENTES 


El uso de EXCEPT, como norma general, es mucho más rápido que utilizar condiciones NOT IN o EXISTS en la clausula WHERE.

INTERSECT

Devuelve la intersección entre dos o más conjuntos de resultados en uno. 
El conjunto obtenido como resultado de INTERSECT tiene la misma estructura que los conjuntos originales. El siguiente ejemplo muestra el uso de INTERSECT

SELECT Nombre, ApellPaterno , ApellMaterno, FechaNacimiento
FROM EMPLEADOS
INTERSECTSELECT Nombre, ApellPaterno , ApellMaterno, FechaNacimiento  
FROM CLIENTES 

0 Response to "Consultas III: UNION-EXCEPT-INTERSECT"

Publicar un comentario

Popular Posts

Labels

AVG (1) Base de Datos (1) Campos (1) Constraint (1) Consulta (1) Count (1) DCL (1) DDL (1) delete (1) DISTINCT (1) DML (1) EXCEPT (1) Group By (1) HAVING (1) IN (1) Indice (1) insert (1) INTERSECT (1) JOIN (1) LIKE (1) Max (1) Min (1) Modificar (1) ORDER BY (1) registros (1) Select (1) SQL (4) SUM (1) Tipos de Datos (1) truncate (1) UNION (1) Update (1) WHERE (1)

Teste Teste Teste

Popular Posts

Teste Teste Teste