Tiempo de lectura:1 Minutos, 40 Segundos

Utilizamos frecuentemente el operador between en PostgreSQL en el where para hacer coincidir el valor de un campo con un rango de valores aunque también veremos las alternativas a este operador haciendo uso de operadores relacionales.

Sintaxis

La sintaxis del operador between es la siguiente:

campo between valor1 and valor2

Tanto valor1 como valor2 pueden ser campos de una tabla o valores escritos a mano por nosotros. El operador between tiene una sintaxis alternativa sin hacer uso de dicho operador, en ambos casos, el resultados sera él mismo. Su sintaxis alternativa es la siguiente:

campo >= valor1 and campo <= valor2

Si lo que quieres es comprobar que el valor este fuera de un rango puedes combinar el operador between con not como en el siguiente ejemplo:

campo not between valor1 and valor2

Ejemplos

En el siguiente ejemplo puedes observar como utilizamos el operador between para mostrar solo aquellos empleados que su sueldo este entre 80000 y 90000

select *
from empleados
where sueldo between 80000 and 90000;

En este otro ejemplo no usamos el operador between, pero si su equivalente haciendo uso de operadores relacionales para obtener los mismos resultados:

select *
from empleados
where sueldo >= 80000 and sueldo <= 90000;

Ejemplo completo

Copia y pega el siguiente código en tu consola de PostgreSQL y realiza paso a paso leyendo los comentarios:

-- Borramos la tabla si existe
drop table if exists empleados;

-- Creamos la tabla
create table empleados
(
    id_empleado numeric(2,0),
    id_departamento numeric(2,0),
    nombre character varying(50),
    puesto character varying(50),
    sueldo integer
);

-- Insertamos valores
insert into empleados
values (1,1,'Miguel Troyano','Analista',60000),
       (2,1,'Ismael Troyano','Analista',60000),
	   (3,1,'Jose Troyano','Director',80000),
	   (4,1,'Pilar Redondo','Directora',80000);

-- Mostramos los empleados donde su sueldo este
-- entre 80000 y 90000 usando between
select *
from empleados
where sueldo between 80000 and 90000;

-- Mostramos los empleados donde su sueldo este
-- entre 80000 y 90000 sin usar between
select *
from empleados
where sueldo >= 80000 and sueldo <= 90000;

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Este sitio está protegido por reCAPTCHA y se aplican la política de privacidad y los términos de servicio de Google.

Perfiles en Redes Sociales