Blog

Postado em em 31 de março de 2023

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.

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

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:

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.

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.

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

SELECT * FROM DimProduct;

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

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

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.

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…

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

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

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

SELECT * FROM DimProduct;

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

Usando o IN

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.

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.

Conclusão – Dominando Filtros com WHERE no SQL

Esta é uma aula mais extensa, porém, mais detalhada sobre o comendo 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?