Dominando Filtros com WHERE no SQL

Você conhece todas as maneiras que podemos filtrar dominando filtros com Where no SQL? Esta aula está repleta de exemplos práticos.

O comando WHERE no SQL filtra os registros de uma tabela conforme uma condição, evitando trazer a base inteira. A sintaxe é SELECT colunas FROM tabela WHERE condição;. Ele aceita operadores de comparação e lógicos como AND, OR, BETWEEN, IN e LIKE (com % como curinga) para filtrar números, textos e datas.

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Resumo do vídeo: a aula mostra na prática como usar o comando WHERE no SQL para filtrar os registros de uma tabela sem trazer a base inteira. Você acompanha a filtragem de números, textos e datas e aprende a combinar condições com os operadores AND, OR, BETWEEN, IN e LIKE para retornar só as informações que precisa.

Neste vídeo você aprende:

  • filtrar números, textos e datas com o comando WHERE;
  • combinar condições com os operadores AND e OR;
  • usar o BETWEEN para intervalos e o IN para listas de valores;
  • buscar trechos de texto com o LIKE e o curinga %.

Fala Impressionadores! Na aula de hoje eu quero te mostrar como dominar os filtros no SQL, feitos utilizando o comando WHERE!

Esse é um comando para filtrar informações, até porque nem sempre vamos querer visualizar a base de dados toda não é mesmo?

Dominando Filtros com WHERE no SQL

Primeiro vou te mostrar o que é o comando WHERE no SQL se você ainda não souber e vou te mostrar as aplicações do comando WHERE:

  • Como filtrar números no SQL
  • Como filtrar textos no SQL, usar o comando WHERE + AND
  • Comando WHERE + OR
  • Comando WHERE + BETWEEN
  • Comando WHERE + IN
  • Comando WHERE + LIKE no SQL

São várias aplicações e você vai entender como fazer cada tipo de filtragem dentro do SQL para poder trazer as informações necessárias sem precisar visualizar tudo da sua base de dados.

E aí, ficou curioso para saber como dominar os filtros no SQL? Então vem comigo que eu vou te mostrar!

Vamos começar visualizando o conteúdo do nosso banco de dados, para isso vamos usar o comando:

SQL
SELECT * FROM DimProduct;

-> Observação. O asterisco significa que queremos selecionar TODAS AS COLUNAS da tabela.

Com este comando estamos selecionando todas as colunas da tabela -> selecione e execute o código para ter acesso à tabela completa, no canto inferior direito da tela podemos ver a quantidade de linhas que temos na tabela, esta quantidade é igual à quantidade de produtos que temos (1 produto a cada linha).

Nosso objetivo é a partir daqui mostrar várias possibilidades de filtrar esta tabela.

WHERE para filtrar números

Temos a coluna de preço unitário, vamos querer filtrar somente os produtos com o preço superior ou igual a 1000.

SQL
SELECT * FROM DimProduct;

WHERE UnitPrice >= 1000;

Selecione as duas linhas de código e execute, agora vamos obter menos informações porque o filtro está mostrando somente os produtos acima de 1000 reais.

WHERE para filtrar textos

Vamos usar a coluna BrandName (marcas dos produtos) vamos fazer a filtragem por uma marca específica.

SQL
SELECT * FROM DimProduct;

WHERE BrandName = ‘Litware’;

Interpretando o código -> Selecione todas as linhas (*) que vem (FROM) da tabela DimProduct onde (Where) a coluna das marcas (BrandName) é igual à marca “Litware” (textos sempre entre aspas). Novamente selecione e execute ambas as linhas de código.

WHERE para filtrar DATAS

Agora vamos fazer um filtro que mostre somente os produtos disponibilizados para venda a partir do ano de 2008

SQL
SELECT * FROM DimProduct;

WHERE AvailableForSaleDate >= ‘01/01/2008’ ;
Ícone SQLSQL Impressionador

Domine a linguagem mais importante do Mundo para quem trabalha com Dados, seja para se destacar na sua empresa atual, para conseguir um diferencial em processos seletivos ou até mesmo para entrar em áreas de dados.

Começar agoraSeta para a direita
Fundo SQLTelas SQL
Luz SQL

Observe que a data tem um comportamento de texto e por este motivo deve ser colocada entre aspas também.

Após selecionar e executar as colunas a partir de 01/01/2008, note que não temos uma ordem, como organizar para ficar em ordem cronológica?

Vamos acrescentar uma linha de código -> ORDER BY + Nome da coluna

SQL
SELECT * FROM DimProduct;

WHERE AvailableForSaleDate >= ‘01/01/2008’ ;

ORDER BY AvailableForSaleDate;

Pronto, usando o ORDER BY as informações da coluna já ficam organizadas!

WHERE + AND

Agora vou te mostrar como fazer um filtro combinado! Isso mesmo, vamos poder analisar com mais de um filtro.

Vamos filtrar todos os produtos da marca Contoso que forem vermelhos.

SQL
SELECT * FROM DimProduct;

WHERE BrandName = ‘Contoso’ AND ColorName = ‘Red’ ;

Neste caso usamos dois filtros, mas podemos usar mais, basta antes do ponto e vírgula, colocar o AND + Nome da coluna + valor ou texto procurado.

WHERE + OR

O comando OR funciona diferente do AND, no sentido de que, com o AND as duas condições devem ser verdadeiras, você pode ter um produto que é, ao mesmo tempo, da marca Contoso e vermelho. No caso do OR não, vamos filtrar um produto que seja da marca Contoso ou da marca Litware, um ou outro…

SQL
SELECT * FROM DimProduct;

WHERE BrandName = ‘Contoso’ OR BrandName = ‘Litware’ ;

Novamente neste caso podemos usar mais condições, adicionando antes do ponto e vírgula o OR + Nome da coluna + valor procurado.

Mesmo que todos os filtros sejam da mesma coluna devemos repetir o nome da coluna depois do OR, todas às vezes que colocarmos um novo filtro.

WHERE + BETWEEN

Existe uma forma mais elegante e menos repetitiva de colocar vários filtros?

Sim, para isso usamos o Between…

Forma Padrão

SQL
SELECT * FROM DimProduct;

WHERE UniPrice >= 1000 AND UniPrice <= 2000;

No código acima estamos selecionando todos os produtos com valor maior que 1000 e menor que 2000.

Usando o BETWEEN

SQL
SELECT * FROM DimProduct;

WHERE UniPrice BETWEEN 1000 AND 2000;

Ambos os códigos chegam ao mesmo resultado porque o Between também inclui os extremos, portanto o número 1000 e 2000 estão incluídos.

WHERE + IN

O BETWEEN é uma alternativa para o AND e o IN será a alternativa para o OR, vamos entender como funciona!

Forma Padrão

SQL
SELECT * FROM DimProduct;

WHERE BrandName = ‘Contoso’ OR BrandName = ‘Litware’ ;

Usando o IN

SQL
SELECT * FROM DimProduct;

WHERE BrandName IN (‘Contoso’ , ‘Litware’) ;

Neste caso podemos colocar quantas marcas quisermos, somente acrescente a vírgula e continue colocando valores na lista.

WHERE + LIKE (Usando o símbolo Wildcard (%TEXTO PROCURADO%) -> busca uma palavra em uma linha com diversas informações)

Temos uma coluna com a descrição dos produtos, nesta coluna temos diversas características dos produtos inclusive que alguns são USB.

Neste filtro vamos selecionar somente os produtos que têm dentre todas as informações a palavra USB.

SQL
SELECT * FROM DimProduct;

WHERE ProductDescription LIKE ‘%USB%’ ;

O símbolo % no começo e no fim indicam que não importa o que tem antes ou depois da palavra procurada, se a palavra existir em qualquer parte da linha ela será selecionada no filtro.

Sendo assim, se escrevermos a mesma busca tirando o símbolo do começo -> ‘USB%’ -> então obrigatoriamente a linha tem que começar com a palavra USB.

Perguntas frequentes

1. Como filtrar números e textos com WHERE no SQL?

Para números, use o WHERE com um operador de comparação, como WHERE UnitPrice >= 1000. Para textos, coloque o valor entre aspas simples: WHERE BrandName = ‘Litware’. O WHERE avalia cada linha e retorna apenas as que atendem à condição, reduzindo o volume de dados exibido pela consulta.

2. Qual a diferença entre AND e OR no WHERE?

O AND exige que todas as condições sejam verdadeiras ao mesmo tempo — por exemplo, produtos da marca Contoso e de cor vermelha. O OR exige que pelo menos uma condição seja verdadeira — produtos da marca Contoso ou Litware. Com o OR, é preciso repetir o nome da coluna em cada condição.

3. Quando usar BETWEEN e IN no SQL?

Use o BETWEEN para filtrar um intervalo de valores, incluindo os extremos: WHERE UnitPrice BETWEEN 1000 AND 2000 é uma forma mais elegante de escrever duas condições com AND. Use o IN para verificar se um valor está em uma lista, como WHERE BrandName IN (‘Contoso’, ‘Litware’), substituindo vários OR.

4. Como funciona o WHERE com LIKE e o curinga %?

O LIKE busca um padrão de texto dentro de uma coluna, usando % como curinga. WHERE ProductDescription LIKE ‘%USB%’ retorna qualquer linha que contenha ‘USB’ em qualquer posição. Já ‘USB%’ exige que o texto comece com USB, e ‘%USB’ exige que termine com USB, controlando onde o padrão deve aparecer.

Conclusão – Dominando Filtros com WHERE no SQL

Esta é uma aula mais extensa, porém, mais detalhada sobre o comando Where e os tipos de filtragem que podemos fazer no SQL.

Este material pode ser usado para consulta sempre que for necessário para relembrar esses conceitos.

Se quiser aprender mais sobre SQL vou deixar o link de uma aula onde ensino a fazer análises de dados simples no SQL!

Eu fico por aqui! Até a próxima!

Hashtag Treinamentos

Para acessar publicações de JavaScript, clique aqui!


Quer aprender mais sobre JavaScript com um minicurso básico gratuito?