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;
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);
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';
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';
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
Escreva um comentário