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;
Lenguaje del código: JavaScript (javascript)
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:
- Si utilizas un alias en el from podrás utilizarlo en el where, select y order by.
- Si utilizas un alias en el select no podrás utilizarlo en el where, pero si en el order by.
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';
Lenguaje del código: JavaScript (javascript)
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;
Lenguaje del código: JavaScript (javascript)
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';
Lenguaje del código: JavaScript (javascript)
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';
Lenguaje del código: JavaScript (javascript)
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'
Lenguaje del código: JavaScript (javascript)