Tiempo de lectura:3 Minutos, 22 Segundos

En este articulo veremos los operadores lógicos en PostgreSQL (and, or y not). Hasta ahora hemos visto cómo realizar consultas con condiciones gracias al where y los operadores relacionales y ahora utilizaremos los operadores lógicos para establecer condiciones más complejas.

Operadores lógicos

Utilizamos los operadores lógicos para establecer más de una condición en el where y conseguir así consultas mas complejas.

Tipos de operadores

Disponemos de seis operadores relacionales en PostgreSQL:

OperadorFunción
andcondicion_1 and condicion_2 – se cumplen las dos condiciones
orcondicion_1 or condicion_2 – se cumple cualquiera de las dos condiciones
notnot condicion1 – no se cumple la condición

Operador lógico AND

Este operador se utiliza cuando queremos que se cumplan todas las condiciones. Observa este ejemplo como le indicamos que debe cumplir la condición de que el empleado sea igual a 1 y ademas el nombre debe empezar por Miguel:

Operador lógico OR

Utilizamos este operador cuando queremos que se cumpla cualquiera de las condiciones especificadas. Observa como en este ejemplo le indicamos que queremos todos los datos cuando el id_empleado es igual a o que su nombre empiece por Ismael:

Operador lógico NOT

Utilizamos este operador cuando queremos que no se cumpla la condición. Observa como en este ejemplo le indicamos que nos muestre todos los datos de aquellos empleados que su nombre no empiece por Ismael:

Uso de parentesis

Cuando se tienen más de dos condiciones se deben utilizar paréntesis para establecer el orden tal y como hacemos con las operaciones matemáticas. Dicho de otro modo, todo lo que engloba un paréntesis lo considerara una única expresión.

En el siguiente ejemplo tenemos tres condiciones; que el id_empleado sea igual a tres, que su sueldo sea igual a 80000 o que su nombre empiece por Ismael. Esto nos devolverá dos registros:

Ahora mira este otro ejemplo donde tenemos las mismas condiciones, pero al incluir los paréntesis nos devuelve un resultado diferente:

¿Por qué no nos devuelve lo mismo? Muy fácil, en el ejemplo anterior le estamos indicando que si o si el id_empleado tiene que ser igual a tres y una vez evaluado esta condición evalúa la que esta dentro del paréntesis y debe cumplir ademas de la anterior que su sueldo sea 80000 o su nombre comience por Ismael. En este caso se cumple que su sueldo es igual a 80000.

Ejemplo completo

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

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