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: operador menos
Este tutorial de SQL explica cómo usar SQL operador menos Con sintaxis y ejemplos.
describir
El operador SQL MINUS se usa para devolver todas las filas en 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 MENOS recuperará todos los registros del primer conjunto de datos y luego eliminará todos los registros del segundo conjunto de datos del resultado.
consulta menos
explique: Una consulta MENOS devolverá registros en el área sombreada en azul. Estos son registros que existen en Dataset1, no en Dataset2.
Cada declaración SELECT en una consulta MINUS 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 MENOS. Se puede utilizar para bases de datos como Oracle.
Para bases de datos como SQL Server, PostgreSQL y SQLite, use el operador EXCEPT para realizar dichas consultas.
sintaxis
La sintaxis del operador MENOS en SQL es:
SELECT expression1, expression2, ... expression_n FROM tables [WHERE conditions] MINUS 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
Aquí hay un ejemplo del operador SQL MINUS con un campo del mismo tipo de datos:
SELECT supplier_id FROM suppliers MINUS SELECT supplier_id FROM orders;
Este ejemplo de SQL MINUS devuelve todos los valores de ID de proveedor en la tabla Proveedores en lugar de la tabla Pedidos. Esto significa que si existe un valor de id_proveedor en la tabla de proveedores y también existe en la tabla de pedidos, el valor id_proveedor no aparecerá en este conjunto de resultados.
Ejemplo: uso de la cláusula ORDER BY
El siguiente es un ejemplo del operador MINUS usando la cláusula ORDER BY:
SELECT supplier_id, supplier_name FROM suppliers WHERE supplier_id > 2000 MINUS SELECT company_id, company_name FROM companies WHERE company_id > 1000 ORDER BY 2;
En este ejemplo del operador SQL MINUS, dado que los nombres de las columnas son diferentes entre las dos instrucciones 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.