SQL: excepto operadores

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

SQL: excepto operadores

Este tutorial de SQL explica cómo usar SQL excepto el operador Con sintaxis y ejemplos.

describir

El operador SQL EXCEPT se utiliza para devolver todas las filas de la primera instrucción SELECT que no fueron devueltas por la segunda instrucción SELECT. Cada instrucción SELECT definirá un conjunto de datos. El operador EXCEPTO recuperará todos los registros del primer conjunto de datos y luego eliminará todos los registros del segundo conjunto de datos del resultado.

Excepto consulta

explique: Las consultas EXCEPTO devolverán registros en el área sombreada en azul. Estos son registros que existen en Dataset1, no en Dataset2.

Cada declaración SELECT en una consulta EXCEPT debe tener la misma cantidad de campos en un conjunto de resultados con tipos de datos similares.

propina: No todas las bases de datos SQL admiten el operador EXCEPT. Está disponible para bases de datos como SQL Server, PostgreSQL y SQLite.

Para bases de datos como Oracle, utilice el operador MENOS para realizar dichas consultas.

sintaxis

La sintaxis del operador EXCEPT en SQL es:

SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions]
EXCEPT
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions];

parámetro o parámetro

expresión1, expresión2, expresión_n La columna o el cálculo que desea recuperar. tabla La tabla de la que desea recuperar registros. Debe aparecer al menos una tabla en la cláusula FROM. La condición WHERE es opcional. Estas son las condiciones que se deben cumplir para seleccionar registros.

notas

  • Debe haber el mismo número de expresiones en ambas sentencias SELECT.
  • Las expresiones correspondientes en la instrucción SELECT deben tener el mismo tipo de datos. Por ejemplo: expresión1 debe ser del mismo tipo de datos en la primera y segunda instrucción SELECT.

Ejemplo: usar una sola expresión

Veamos un ejemplo de cómo usar el operador EXCEPT en SQL para devolver un campo con el mismo tipo de datos.

Por ejemplo:

SELECT product_id
FROM products
EXCEPT
SELECT product_id
FROM inventory;

Este ejemplo de operador EXCEPT devuelve todos los valores de product_id de la tabla de productos en lugar de la tabla de inventario. Esto significa que si existe un valor de product_id en la tabla de productos y también existe en la tabla de inventario, el valor de product_id no aparecerá en los resultados de la consulta EXCEPTO.

Ejemplo: uso de varias expresiones

A continuación, veamos un ejemplo de cómo usar una consulta EXCEPT en SQL que devuelve varias columnas.

Por ejemplo:

SELECT contact_id, last_name, first_name
FROM contacts
WHERE last_name="Johnson"
EXCEPT
SELECT customer_id, last_name, first_name
FROM customers
WHERE customer_id > 45;

En este ejemplo EXCEPTO, la consulta devolverá registros en la tabla de contactos cuyos valores de contact_id, last_name y first_name no coincidan con los valores de customer_id, last_name y first_name de la tabla de clientes.

Ejemplo: uso de ORDEN POR

Finalmente, veamos cómo usar la cláusula ORDER BY en una consulta EXCEPT en SQL.

Por ejemplo:

SELECT supplier_id, supplier_name
FROM suppliers
WHERE supplier_id < 30
EXCEPT
SELECT company_id, company_name
FROM companies
WHERE state="Florida"
ORDER BY 2;

En este ejemplo EXCEPT, debido a que los nombres de las columnas difieren entre las dos declaraciones SELECT, es más ventajoso referirse a las columnas en la cláusula ORDER BY por su posición en el conjunto de resultados.En este ejemplo, hemos ordenado los resultados por nombre del proveedor/nombre de la empresa en orden ascendente como ORDER BY 2.

Posición n.º 2 del campo Nombre del proveedor/Nombre de la empresa en el conjunto de resultados.