¿Qué operadores para combinar resultados de consultas existen en SQL Server? UNION/UNION ALL/EXCEPT/INTERSECT
Este breve capítulo se limita a presentar los operadoes UNION, UNION ALL, INTERSECT, y EXCEPT. El motivo por el cual he decidido escribir este capítulo es debido, a que igual que mucha gente conoce los operadores UNION y UNION ALL, pocos conocen EXCEPT e INTERSECT. Más aún, aquellos que vienen de ORACLE, en ocasiones sienten nostalgia de su MINUS... bien, pues EXCEPT es equivalente al MINUS de ORACLE, e INTERSECT existe en ambos motores (SQL Server y ORACLE), al igual que UNION y UNION ALL. |
En ocasiones puede resultar de utilidad el uso de este tipo de operadores, de tal modo, que se pueda obtener la unión, la intersección o la diferencia de dos (o más) conjuntos de resultados. Los operadores UNION y UNION ALL ya llevan tiempo en SQL Server. Por el contrario, los operadores EXCEPT e INTERSECT están disponibles desde SQL Server 2005. De este modo, se obtiene una alternativa a los operadores UNION/UNION ALL/MINUS/INTERSECT que ofrece ORACLE, sin tener que elaborar consultas alternativas mediante complejos JOINs y/o cláusulas NOT IN y EXISTS. La sintaxis a utilizar es la siguiente: SELECT command {UNION | UNION ALL | INTERSECT | EXCEPT} SELECT command. A continuación se explica cada uno de estos operadores:
|
Comentarios
Publicar un comentario