SQL: entre 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: entre condiciones

Este tutorial de SQL explica cómo usar SQL entre condiciones Con sintaxis y ejemplos.

describir

La condición SQL BETWEEN le permite probar fácilmente si una expresión está dentro de un rango de valores (inclusive). Se puede usar en declaraciones SELECT, INSERT, UPDATE o DELETE.

sintaxis

La sintaxis de la condición BETWEEN en SQL es:

expression BETWEEN value1 AND value2;

parámetro o parámetro

Columna de expresión o cálculo. valor1 y valor2 Estos valores crean un rango inclusivo contra el cual se compara la expresión.

notas

  • SQL BETWEEN Condition devolverá registros donde la expresión esté en el rango de value1 y value2 (inclusive).

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 BETWEEN con un valor numérico

Veamos un ejemplo de cómo usar la condición BETWEEN para recuperar valores dentro de un rango numérico.

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 SELECT:

SELECT *
FROM suppliers
WHERE supplier_id BETWEEN 300 AND 600;

Se seleccionarán 4 registros. Estos son los resultados que deberías ver:

Identificación del proveedor Nombre del proveedor Ciudad Expresar
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

Este ejemplo devuelve todas las filas de la tabla de proveedores con ID de proveedor entre 300 y 600 (inclusive). Es equivalente a la siguiente instrucción SELECT:

SELECT *
FROM suppliers
WHERE supplier_id >= 300
AND supplier_id <= 600;

Ejemplo: uso de la condición BETWEEN en un valor de fecha

Las fechas pueden ser complicadas en SQL, y cómo usar la condición BETWEEN con fechas depende de la base de datos en la que se esté ejecutando (es decir, Oracle, SQL Server, MySQL, etc.). Le mostraremos ejemplos de cada una de las principales tecnologías de bases de datos. Entonces empecemos.

En este ejemplo, tenemos 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 una de las siguientes declaraciones SQL según la base de datos que esté ejecutando.

Para SQL Server, PostgreSQL y SQLite:

SELECT *
FROM orders
WHERE order_date BETWEEN '2016/04/19' AND '2016/05/01';

Para Oracle (usando la función TO_DATE):

SELECT *
FROM orders
WHERE order_date BETWEEN TO_DATE ('2016/04/19', 'yyyy/mm/dd')
AND TO_DATE ('2016/05/01', 'yyyy/mm/dd');

Para MySQL y MariaDB (usando la función CAST):

SELECT *
FROM orders
WHERE order_date BETWEEN CAST('2016/04/19' AS DATE) AND CAST('2016/05/01' AS DATE);

Se seleccionarán 3 registros. Estos son los resultados que deberías ver:

Solicitar ID Identificación del cliente fecha de orden
3 8000 2016/04/19
4 4000 2016/04/20
5 nulo 2016/05/01

Este ejemplo devuelve todos los registros en la tabla de pedidos con fecha_pedido entre el 19 de abril de 2016 y el 1 de mayo de 2016 (inclusive).

Ejemplo: uso del operador NOT con la condición BETWEEN

La condición BETWEEN se puede utilizar con el operador NOT 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 instrucción SELECT:

SELECT *
FROM customers
WHERE customer_id < 5000
OR customer_id > 8000;