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: combinación de condiciones AND y OR
Este tutorial de SQL explica cómo usar con condición y o condición En una consulta con sintaxis y ejemplos.
describir
Puede combinar las condiciones AND y OR de SQL para probar varias condiciones en una declaración SELECT, INSERT, UPDATE o DELETE.
Al combinar estas condiciones, es importante usar paréntesis para que la base de datos sepa el orden en que evaluará cada condición. (¡Como si aprendieras el orden de las operaciones en la clase de matemáticas!)
sintaxis
La sintaxis de las condiciones AND y OR en SQL es:
WHERE condition1 AND condition2 ... OR condition_n;
parámetro o parámetro
condition1, condition2, … condition_n Evalúa las condiciones para determinar si se seleccionarán los registros.
notas
- Las condiciones SQL AND & OR le permiten probar múltiples condiciones.
- ¡No olvide el orden en que se manipulan los paréntesis!
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 las condiciones “AND” y “OR” en una instrucción SELECT
Ahora, veamos un ejemplo de cómo usar las condiciones AND y OR en una instrucción SELECT.
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 (state="California" AND supplier_id 900) OR (supplier_id = 100);
Se seleccionarán 4 registros. Estos son los resultados que deberías ver:
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 |
700 | Alimentos Dole | pueblo del lago oeste | California |
Este ejemplo devuelve todos los proveedores ubicados en California pero con id_proveedor no igual a 900. La consulta también devolverá todos los proveedores con id_proveedor igual a 100. Los paréntesis determinan el orden en que se evalúan las condiciones Y y O. ¡Al igual que el orden de las operaciones que aprendiste en la clase de matemáticas!
Ejemplo: uso de las condiciones “AND” y “OR” en la instrucción UPDATE
A continuación, veamos cómo usar las condiciones AND y OR en una instrucción UPDATE.
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 |
Ahora vamos a demostrar cómo usar las condiciones AND y OR para actualizar registros en una tabla. Ingrese la siguiente declaración de actualización:
UPDATE customers SET favorite_website="prograrmaplus.com" WHERE customer_id = 6000 OR (customer_id > 7000 AND last_name 'Johnson');
Se actualizarán 2 registros. Seleccione de nuevo los datos de la tabla de clientes:
SELECT * FROM customers;
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 |
5000 | Herrero | simple | digminecraft.com |
6000 | Ferguson | samantha | Red de Ciencia y Tecnología |
7000 | Reynolds | Alan | revisatumath.com |
8000 | anderson | Página | Red de Ciencia y Tecnología |
9000 | Johnson | Derek | Red de Ciencia y Tecnología |
Este ejemplo actualizará todos los valores de sitio web favorito en la tabla de clientes a “prograrmaplus.com” con id_cliente igual a 6000, y aquellos registros con id_cliente mayor a 7000 y apellido diferente a “Johnson”. Como puede ver, el valor de sitio web favorito en la tercera y quinta fila se ha actualizado.
Ejemplo: uso de las condiciones “AND” y “OR” en la instrucción DELETE
A continuación, veamos cómo eliminar registros usando la instrucción DELETE con las condiciones AND y OR.
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 DELETE:
DELETE FROM products WHERE category_id = 25 OR (product_id < 4 AND product_name <> 'Banana');
Se eliminarán 3 registros. Seleccione de nuevo los datos de la tabla de productos:
SELECT * FROM products;
Estos son los resultados que deberías ver:
ID del Producto | nombre del producto | categoria ID |
---|---|---|
2 | plátano | 50 |
4 | manzana | 50 |
5 | pan de molde | 75 |
7 | kleenex | nulo |
Este ejemplo elimina todos los registros con category_id igual a 25 de la tabla de productos. También eliminará todos los registros de la tabla de productos con product_id menor que 4 y product_name distinto de “Banana”.