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: en condiciones
Este tutorial de SQL explica cómo usar SQL en estado Con sintaxis y ejemplos.
describir
Las condiciones SQL IN (a veces denominadas operador IN) le permiten probar fácilmente si una expresión coincide con algún valor en una lista de valores. Se utiliza para ayudar a reducir la necesidad de múltiples condiciones OR en las declaraciones SELECT, INSERT, UPDATE o DELETE.
sintaxis
La sintaxis de una condición IN en SQL es:
expression IN (value1, value2, .... value_n);
o
expression IN (subquery);
parámetro o parámetro
expresión Este es un valor para probar. value1, value2…,alue_n Estos son los valores a probar contra la expresión. La condición IN se evaluará como verdadera si alguno de estos valores coincide con la expresión. Subconsulta Esta es una declaración SELECT cuyo conjunto de resultados se probará con una expresión. La condición IN se evaluará como verdadera si alguno de estos valores coincide con la expresión.
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 la condición IN con valor de carácter
Las condiciones IN se pueden usar para cualquier tipo de datos en SQL. Veamos cómo usar las condiciones IN con valores de caracteres (cadenas).
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 |
Ingrese la siguiente instrucción SQL:
SELECT * FROM suppliers WHERE supplier_name IN ('Microsoft', 'Oracle', 'Flowers Foods');
Se seleccionarán 3 registros. Estos son los resultados que deberías ver:
Identificación del proveedor | Nombre del proveedor | Ciudad | Expresar |
---|---|---|---|
100 | microsoft | Redmond | Washington |
300 | Oráculo | ciudad de secoya | California |
800 | flores comida | thomasville | Georgia |
Este ejemplo devuelve todas las filas de la tabla Proveedores donde el nombre del proveedor es Microsoft, Oracle o Flowers Foods. Debido a que se usa * en la selección, todos los campos de la tabla de proveedores aparecerán en el conjunto de resultados.
Equivalente a la siguiente instrucción SQL:
SELECT * FROM suppliers WHERE supplier_name="Microsoft" OR supplier_name="Oracle" OR supplier_name="Flowers Foods";
Como puede ver, el uso de condiciones IN hace que la declaración sea más fácil de leer y más eficiente que usar múltiples condiciones OR.
Ejemplo: uso de condiciones IN con valores numéricos
A continuación, veamos cómo usar las condiciones IN con valores numéricos.
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 IN (5000, 7000, 8000, 9000);
Se seleccionarán 4 registros. Estos son los resultados que deberías ver:
Identificación del cliente | apellido | nombre | sitio favorito |
---|---|---|---|
5000 | Herrero | simple | digminecraft.com |
7000 | Reynolds | Alan | revisatumath.com |
8000 | anderson | Página | nulo |
9000 | Johnson | Derek | Red de Ciencia y Tecnología |
Este ejemplo devuelve todos los registros de la tabla de clientes con un ID_cliente de 5000, 7000, 8000 o 9000.
Equivalente a la siguiente instrucción SQL:
SELECT * FROM customers WHERE customer_id = 5000 OR customer_id = 7000 OR customer_id = 8000 OR customer_id = 9000;
Ejemplo: uso de la condición IN con el operador NOT
Finalmente, veamos cómo usar la condición IN con el operador NOT. El operador NOT se utiliza para negar condiciones. 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';
Como puede ver, la declaración equivalente se escribe con una condición AND en lugar de una condición OR, porque se niega la condición IN.