Como filtrar consultas com cláusula WHERE no PostgreSQL

Filtros de consultas com a cláusula WHERE no PostgreSQL

Em nossa última aula vimos como criar consultas SQL simples com o uso da cláusula SELECT no PostgreSQL. Porém, como pudemos perceber, os resultados que eram retornados traziam todas as linhas de uma tabela, ou seja, todos os registros presentes – porém, nem sempre é isso o que desejamos.

Na verdade, muito provavelmente o que queremos como retorno ao realizar uma consulta SQL é obter informações sobre um registro ou um grupo de registros específicos, e não todo o conteúdo de uma tabela.

Com o emprego da cláusula WHERE no PostgreSQL podemos filtrar o conjunto de registros retornados no resultado de uma consulta, de modo a obter apenas as informações relevantes (e não o conteúdo completo das colunas).

Sintaxe:

SELECT coluna(s)
FROM tabela 
WHERE condição de filtragem;

Na prática, podemos usar uma série de operadores de comparação para determinar a condição de filtragem com a cláusula WHERE, sendo o mais comum o sinal de igualdade (=). Também é possível usar sinais de > (maior que), < (menor que), >= (maior ou igual a) e <= (menor ou igual a).

Vejamos alguns exemplos da aplicação da cláusula WHERE para filtrar os resultados de consultas SQL simples.

Exemplo 01 – Retornar nome e sobrenome do autor cujo ID é igual a 3:

SELECT Nome_Autor, Sobren_Autor
FROM tbl_autores
WHERE id_autor = 3;

Filtrar consultas com WHERE no postgresql

Exemplo 02 – Retornar nomes, datas de publicação e preços dos livros que custem mais do que R$ 60,00:

SELECT Nome_Livro, Data_Pub, Preco_Livro
FROM tbl_livros
WHERE Preco_Livro > CAST(60.00 AS MONEY);

Cláusula WHERE no PostgreSQL 02

Neste exemplo usamos a função CAST() para converter o tipo de dado informado na condição de filtragem da cláusula WHERE (que é NUMERIC) para o tipo de dado armazenado na coluna (que foi criada com tipo MONEY), de modo a obter êxito ao realizar a consulta. Vamos estudar as funções de conversão de tipos de dados no PostgreSQL mais adiante em nosso curso.

Exemplo 03: Retornar data de publicação e preço do livro de nome Using Samba:

SELECT Nome_Livro, Data_Pub, Preco_Livro
FROM tbl_livros
WHERE Nome_Livro = 'Using Samba';

Cláusula WHERE no PostgreSQL

Note que englobamos o nome do livro entre aspas simples, pois se trata de uma consulta usando uma string de texto como filtro.

Exemplo 04: Retornar nomes e datas de publicação dos livros publicados antes de 01/01/2010:

SELECT Nome_Livro, Data_Pub
FROM tbl_livros
WHERE Data_Pub <= '20100101';

Cláusula WHERE no PostgreSQL

Também neste exemplo devemos englobar o filtro da consulta, que é uma data, entre aspas.

Podemos aprimorar os filtros aplicados às consultas com o emprego de cláusulas adicionais em conjunto com a cláusula WHERE. E isso é o que faremos a partir da próxima lição.

Até mais!

Anterior: Realizando consultas simples no PostgreSQL com declaração SELECT

 

Sobre Fábio dos Reis (1349 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

Escreva um comentário

Seu e-mail não será divulgado


*