Operadores de Conjuntos SQL Server
Un operador es un símbolo o una palabra clave que define una acción que se realiza en una o más expresiones en la instrucción Select.
Veamos los detalles de los operadores de conjuntos en SQL Server y cómo usarlos.
Hay cuatro operadores básicos de conjuntos en SQL Server:
- Union
- Union All
- EXCEPT
- INTERSECT
1. Unión
El operador de Unión combina los resultados de dos o más consultas dando lugar a la creación de un único conjunto de resultados que incluye todas las filas que pertenecen a todas las consultas en la Unión. En esta operación, combina dos consultas más y elimina los duplicados.

2. Unión Total (Union All)
Cuando miramos Unión vs Unión total, pese a que encontramos que los mismos son bastante similares, pero se puede observar entre ellos que tienen algunas diferencias importantes desde la perspectiva de los resultados de rendimiento.
El operador UNION combina los resultados de dos o más consultas en un único conjunto de resultados los mismos que incluyen todas las filas que pertenecen a todas las consultas en la Unión. En términos simples, combina los dos o más conjuntos de filas y mantiene los duplicados.

3. Intersect
El operador intersect mantiene las filas que son comunes a todas las consultas.

4. Except o Exclusión
El operador EXCEPT enumera las filas en el primero que no están en el segundo.

Sintaxis
La sintaxis para los operadores UNION vs UNION ALL en SQL es la siguiente:
SELECT Column1, Column2, … ColumnN
FROM <table>
[WHERE conditions]
[GROUP BY Column(s]]
[HAVING condition(s)]
UNION
SELECT Column1, Column2, … ColumnN
FROM table
[WHERE condition(s)];
ORDER BY Column1,Column2…
Reglas:
Hay algunas reglas que se aplican a todos los operadores establecidos:
- Las expresiones en cada fila o el número de columnas que se definen en cada consulta deben tener el mismo orden
- Los conjuntos de filas de instrucciones SQL posteriores deben coincidir con el tipo de datos de la primera consulta
- Los paréntesis pueden construir otros operadores de conjuntos en la misma instrucción.
- Es posible tener una cláusula ORDER BY, pero esa debería ser la última instrucción del SQL
- Las cláusulas GROUP BY y HAVING se pueden aplicar a la consulta individual
Nota:
- Todos estos operadores Set eliminan duplicados, excepto el operador Union All
- Los nombres de las columnas de salida se refieren desde la primera consulta, es decir, cuando ejecutamos las instrucciones SELECT con cualquiera de los operadores Set y el conjunto de resultados de cada una de las consultas puede tener diferentes nombres de columna, por lo que el resultado de la instrucción SELECT hace referencia a los nombres de columna ejecutada en la primera consulta en dicha operación.
- Es importante mencionar que SQL JOIN se usa con mayor frecuencia para combinar columnas de varias tablas relacionadas, mientras que los operadores SET combinan filas de varias tablas.
- Cuando los tipos de expresión son iguales pero difieren en precisión, escala o longitud, el resultado que se obtiene y se determina se logra con base en las mismas reglas para combinar expresiones
Comentarios
Publicar un comentario