SQL: en condiciones

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 Google 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.