Visualizar ciertos registros usando WHERE en PostgreSQL

En este articulo vamos aprender a visualizar ciertos registros usando where en PostgreSQL de una tabla. Cuando realizamos una consulta usando select podemos indicarle que campos queremos mostrar y de qué tabla, usando el from. Ahora utilizaremos la palabra reservada where para filtrar por un valor de un campo.

Sintaxis

Para filtrar registros utilizamos la cláusula where después del from. Seguido al where le indicaremos el nombre del campo y lo igualaremos a un valor.

Para formar la condición utilizamos operadores relacionales, y operadores lógicos.

select *
from nombreTabla
where condicion
order by campo;

Cuando utilizamos las clausulas select, from, where y order by, la herramienta las evalua en el siguiente orden:

Debido a este orden de evaluación nos podemos encontrar con estas dos casuísticas:

Además de usar la clausula where junto al select, puedes utilizarlo con las cláusulas delete o update.

Ejemplos

Filtrar campos de texto con el operador relacional =

Cuando en la condición se va a utilizar un campo de texto debes tener en cuenta que es sensible a mayusculas y minúsculas. Debes entrecomillar el texto de la siguiente forma:

select *
from clientes
where nombre = 'Miguel';

Filtrar campos numéricos con el operador relacional =

Si la condición es sobre un campo numérico no es necesario incluir el número entre comillas.

select *
from clientes
where id_cliente = 2;

Filtrar campos con el operador lógico AND

Si quieres incluir más de una condición y quieres que se cumplan todas puedes utilizar el operador lógico AND. En el siguiente ejemplo puedes observar como hemos filtrado por el id_cliente = 2 y además que su nombre sea Ismael.

select *
from clientes
where id_cliente = 2 and nombre = 'Ismael';

Filtrar campos con el operador lógico OR

En este otro ejemplo incluimos dos condiciones, pero gracias al operador lógico OR le indicamos que se debe cumplir una condición u otra. El resultado es el siguiente:

select *
from clientes
where id_cliente = 2 or nombre = 'Miguel';

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 clientes;
 
-- creamos la tabla
create table clientes (
  id_cliente numeric(2),
  nombre varchar(50)
);

-- Insertamos registros:
insert into clientes (id_cliente, nombre)
  values (1,'Miguel');
insert into clientes (id_cliente, nombre)
  values (2,'Ismael');
insert into clientes (id_cliente, nombre)
  values (3,'Pilar');

-- Mostramos todos los campos y registros
select * 
from clientes

-- Mostramos todos los campos, pero solo de Miguel
select * 
from clientes
where nombre='Miguel';

-- Mostramos el ID de Miguel
select id_cliente
from clientes
where nombre='Miguel';

-- Mostramos el nombre del ID 2
select id_cliente
from clientes
where id_cliente =2;

-- Mostramos todos los campos cuando se cumplan las dos condiciones
select *
from clientes
where id_cliente = 2 and nombre = 'Ismael'

-- Mostramos todos los campos cuando se cumplan cualquiera 
-- de las dos condiciones
select *
from clientes
where id_cliente = 2 or nombre = 'Miguel'

Escribir un comentario

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