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: no condicional
Este tutorial de SQL explica cómo usar SQL incondicional Con sintaxis y ejemplos.
describir
Las condiciones SQL NOT (a veces denominadas operador NOT) se utilizan para negar condiciones en la cláusula WHERE de una declaración SELECT, INSERT, UPDATE o DELETE.
sintaxis
La sintaxis de una condición NOT en SQL es:
NOT condition
parámetro o parámetro
Condición Esta es una condición negativa. Los registros que se incluirán en el conjunto de resultados deben cumplir la condición opuesta.
Ejemplo de DDL/DML
Si desea seguir este tutorial, obtenga DDL para crear las tablas y DML para completar los datos. ¡Entonces pruebe los ejemplos en su propia base de datos!
Ejemplo: uso de NOT en una condición IN
Primero veamos cómo se puede usar NOT en una condición IN. Cuando usamos el operador NOT en una condición IN, creamos una condición NOT IN. Esto probará si la expresión no está en la lista.
En este ejemplo, tenemos una tabla llamada productos con los siguientes datos:
ID del Producto | nombre del producto | categoria ID |
---|---|---|
1 | pera | 50 |
2 | plátano | 50 |
3 | mandarina | 50 |
4 | manzana | 50 |
5 | pan de molde | 75 |
6 | jamón | 25 |
7 | kleenex | nulo |
Ingrese la siguiente instrucción SQL:
SELECT * FROM products WHERE product_name NOT IN ('Pear', 'Banana', 'Bread');
Se seleccionarán 4 registros. Estos son los resultados que deberías ver:
ID del Producto | nombre del producto | categoria ID |
---|---|---|
3 | mandarina | 50 |
4 | manzana | 50 |
6 | jamón | 25 |
7 | kleenex | nulo |
Este ejemplo devuelve todas las filas de la tabla de productos donde nombre_producto no es Pera, Plátano o Pan.A veces es más eficiente listar los valores que hiciste No quiere, no los valores que quiere.
Equivalente a la siguiente instrucción SQL:
SELECT * FROM products WHERE product_name 'Pear' AND product_name 'Banana' AND product_name 'Bread';
Ejemplo: uso de NOT con la condición IS NULL
Cuando utiliza el operador NO con una condición ES NULO, crea una condición NO ES NULO que le permite probar valores que no son NULOS. Este es el operador de comparación recomendado para usar en SQL cuando se prueban valores que no son NULL. Veamos un ejemplo que muestra cómo usar la condición NO ES NULO en una consulta.
Usando el mismo producto que el ejemplo anterior:
ID del Producto | nombre del producto | categoria ID |
---|---|---|
1 | pera | 50 |
2 | plátano | 50 |
3 | mandarina | 50 |
4 | manzana | 50 |
5 | pan de molde | 75 |
6 | jamón | 25 |
7 | kleenex | nulo |
Ingrese la siguiente instrucción SQL:
SELECT * FROM products WHERE category_id IS NOT NULL;
Se seleccionarán 6 registros. Estos son los resultados que deberías ver:
ID del Producto | nombre del producto | categoria ID |
---|---|---|
1 | pera | 50 |
2 | plátano | 50 |
3 | mandarina | 50 |
4 | manzana | 50 |
5 | pan de molde | 75 |
6 | jamón | 25 |
Este ejemplo devuelve todos los registros en la tabla de productos donde customer_id no contiene un valor NULL.
Ejemplo: uso de NOT con condiciones LIKE
A continuación, veamos un ejemplo de cómo usar el operador NOT con la condición LIKE.
En este ejemplo, tenemos una tabla llamada proveedores con los siguientes datos:
Identificación del proveedor | Nombre del proveedor | Ciudad | Expresar |
---|---|---|---|
100 | microsoft | Redmond | Washington |
200 | paisaje de la cima de la montaña | California | |
300 | Oráculo | ciudad de secoya | California |
400 | Kimberly Clark | Owen | Texas |
500 | Alimentos Tyson | Springdale | Arkansas |
600 | sc johnson | Racine | el estado de wisconsin |
700 | Alimentos Dole | pueblo del lago oeste | California |
800 | flores comida | thomasville | Georgia |
900 | Artes electrónicas | ciudad de secoya | California |
Busquemos todos los registros en la tabla de proveedores donde se encuentra el nombre del proveedor No Contiene la letra “o”. Ingrese la siguiente instrucción SQL:
SELECT * FROM suppliers WHERE supplier_name NOT LIKE '%o%';
Se seleccionará 1 registro. Estos son los resultados que deberías ver:
Identificación del proveedor | Nombre del proveedor | Ciudad | Expresar |
---|---|---|---|
400 | Kimberly Clark | Owen | Texas |
En este ejemplo, solo hay un registro en la tabla de proveedores donde el nombre del proveedor no contiene la letra “o”.
Ejemplo: uso de NOT con la condición BETWEEN
El operador NOT también se puede combinar con una condición BETWEEN para crear una condición NOT BETWEEN. Exploremos un ejemplo que muestra cómo usar la condición NOT BETWEEN en una consulta.
En este ejemplo, tenemos una tabla llamada clientes con los siguientes datos:
Identificación del cliente | apellido | nombre | sitio favorito |
---|---|---|---|
4000 | jackson | José | Red de Ciencia y Tecnología |
5000 | Herrero | simple | digminecraft.com |
6000 | Ferguson | samantha | granactividad.com |
7000 | Reynolds | Alan | revisatumath.com |
8000 | anderson | Página | nulo |
9000 | Johnson | Derek | Red de Ciencia y Tecnología |
Ingrese la siguiente instrucción SQL:
SELECT * FROM customers WHERE customer_id NOT BETWEEN 5000 AND 8000;
Se seleccionarán 2 registros. Estos son los resultados que deberías ver:
Identificación del cliente | apellido | nombre | sitio favorito |
---|---|---|---|
4000 | jackson | José | Red de Ciencia y Tecnología |
9000 | Johnson | Derek | Red de Ciencia y Tecnología |
Esto devolverá todas las filas donde está customer_id No Entre 5000 y 8000, ambos inclusive. Será equivalente a la siguiente sentencia SELECT:
SELECT * FROM customers WHERE customer_id < 5000 OR customer_id > 8000;
Ejemplo: uso de NOT con la condición EXISTS
Finalmente, las condiciones NOT se pueden combinar con las condiciones EXISTS para crear condiciones NOT EXISTS. Veamos un ejemplo de cómo usar la condición NO EXISTE en SQL.
En este ejemplo, tenemos una tabla llamada clientes con los siguientes datos:
Identificación del cliente | apellido | nombre | sitio favorito |
---|---|---|---|
4000 | jackson | José | Red de Ciencia y Tecnología |
5000 | Herrero | simple | digminecraft.com |
6000 | Ferguson | samantha | granactividad.com |
7000 | Reynolds | Alan | revisatumath.com |
8000 | anderson | Página | nulo |
9000 | Johnson | Derek | Red de Ciencia y Tecnología |
También existe una tabla llamada pedidos con los siguientes datos:
Solicitar ID | Identificación del cliente | fecha de orden |
---|---|---|
1 | 7000 | 2016/04/18 |
2 | 5000 | 2016/04/18 |
3 | 8000 | 2016/04/19 |
4 | 4000 | 2016/04/20 |
5 | nulo | 2016/05/01 |
Ingrese la siguiente instrucción SQL:
SELECT * FROM customers WHERE NOT EXISTS (SELECT * FROM orders WHERE customers.customer_id = orders.customer_id);
Se seleccionarán 2 registros. Estos son los resultados que deberías ver:
Identificación del cliente | apellido | nombre | sitio favorito |
---|---|---|---|
6000 | Ferguson | samantha | granactividad.com |
9000 | Johnson | Derek | Red de Ciencia y Tecnología |
Este ejemplo devolverá todos los registros en la tabla de clientes. No Un registro en la tabla de pedidos para un customer_id determinado.