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.
Oracle/PLSQL: operador menos
Este tutorial de Oracle describe cómo usar Oracle operador menos Con sintaxis y ejemplos.
describir
El operador Oracle MINUS se usa para devolver todas las filas en la primera declaración SELECT que no fueron devueltas por la segunda declaració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.
sintaxis
La sintaxis del operador MENOS en Oracle/PLSQL 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. Para seleccionar las condiciones que debe cumplir un registro.
notas
- Ambas instrucciones SELECT deben tener el mismo número de expresiones y tener tipos de datos similares.
Ejemplo: usar una sola expresión
Este es un ejemplo de un operador Oracle MINUS que devuelve un campo con el mismo tipo de datos:
SELECT supplier_id FROM suppliers MINUS SELECT supplier_id FROM orders;
Este ejemplo de Oracle MINUS devuelve todos los valores de ID de proveedor que están en la tabla de proveedores en lugar de la tabla de 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 ORDEN POR
El siguiente es un ejemplo del operador MINUS usando la cláusula ORDER BY:
SELECT supplier_id, supplier_name FROM suppliers WHERE state="Florida" MINUS SELECT company_id, company_name FROM companies WHERE company_id <= 400 ORDER BY 2;
En este ejemplo de MINUS, 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.