SQL

¿Qué hace el operador Except en SQL?

Estrada Web Group
jiestrada
¿Qué hace el operador Except en SQL?

Resumen: en este tutorial aprenderás a usar el operador EXCEPT de SQL Server que encuentra la diferencia entre dos consultas y el resultado regresa las filas que pertenecen únicamente a la primera consulta.

¿Qué hace el operador Except en SQL?

A diferencia del operador INTERSECT, el operador EXCEPT de SQL Server compara los resultados de dos consultas y devuelve las filas de la primera consulta y siempre y cuando no se encuentren en la segunda consulta. En otras palabras, EXCEPT resta el conjunto de resultados de una consulta de otra.

Introducción al operador EXCEPT de SQL Server

A continuación, se muestra la sintaxis de SQL Server EXCEPTO:

query_1
EXCEPT
query_2

Las reglas para combinar los conjuntos de resultados de dos consultas en la sintaxis anterior son las siguientes:

  • El número y orden de las columnas debe ser el mismo en ambas consultas.
  • Los tipos de datos de las columnas correspondientes deben ser iguales o compatibles.

La siguiente imagen muestra la operación EXCEPT de los dos conjuntos de resultados T1 y T2:
Except SQL Server


En esta ilustración:

  • El conjunto de resultados T1 incluye 1, 2 y 3.
  • El conjunto de resultados T2 incluye 2, 3 y 4.
  • El operador EXCEPT de T1 y T2 devuelve 1, que es la fila distinta del conjunto de resultados de T1 que no aparece en el conjunto de resultados de T2.

Ejemplos del operador EXCEPT de SQL Server

En los siguientes ejemplos aprenderás cómo usar el operador EXCEPT, consulta las siguientes tablas de productos y artículos de pedido de la base de datos de ejemplo:
para que sirve EXCEPT de SQL Server

A) Ejemplo del uso simple de EXCEPT

El siguiente ejemplo usa el operador EXCEPT para encontrar los productos que no tienen ventas:

SELECT    product_id
FROM    production.products
EXCEPT
SELECT    product_id
FROM    sales.order_items;


Resultado:

product_id
284
195
318
321
267
121
319
1
316
125
317
291
154
320

En este ejemplo, la primera consulta devuelve todos los productos. La segunda consulta devuelve los productos que tienen ventas. Por lo tanto, el conjunto de resultados incluye solo los productos que no tienen ventas.

B) Ejemplo del operador de EXCEPT con ORDER BY

Para ordenar el conjunto de resultados creado por el operador EXCEPT, debes agregar la cláusula ORDER BY en la última consulta. Por ejemplo, el siguiente ejemplo encuentra los productos que no tuvieron ventas y ordena los productos por su id en orden ascendente:

SELECT    product_id
FROM    production.products
EXCEPT
SELECT    product_id
FROM    sales.order_items
ORDER BY     product_id;

Resultado:

product_id
1
121
125
154
195
267
284
291
316
317
318
319
320
321

En este post aprendiste a usar el operador EXCEPT de SQL Server que encuentra la diferencia entre dos consultas y el resultado regresa las filas que pertenecen únicamente a la primera consulta.

 

Compartir artículo:

Más artículos geniales

¿Cómo se insertar en una tabla de SQL Server?

¿Cómo se insertar en una tabla de SQL Server?

En SQL, hay dos formas muy sencillas para INSERTAR datos en una tabla: Una es insertar una fila a la vez, y la otra es insertar filas múltiples o conjuntos de filas el cual explicaremos aquí también. Primero observemos como podemos INSERTAR datos a través de una fila a la vez:

Ver artículo completo
¿Cómo filtar registos con una subconsulta usando el operador ALL de SQL Server?

¿Cómo filtar registos con una subconsulta usando el operador ALL de SQL Server?

Resumen: en este tutorial, aprenderás a usar el operador ALL de SQL Server para comparar un valor con una lista de conjuntos de valores de una columna.

Ver artículo completo

Manténgase actualizado

Obtenga excelente contenido en su bandeja de entrada todas las semanas.
Solo contenido excelente, no compartimos su correo electrónico con terceros.
Subir al inicio de la pantalla
;