Criando Filtros Especiais para Bancos de Dados MySQL
Aprenda a criar filtros especiais para bancos de dados MySQL e faça análises mais detalhadas e completas!
Os filtros especiais do SQL refinam a cláusula WHERE: LIKE busca por padrão de texto usando o coringa %, IN testa vários valores de uma vez em uma lista entre parênteses e BETWEEN seleciona um intervalo de números ou datas, incluindo os dois extremos. No MySQL, os três valem para qualquer tabela.
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
O que você aprende neste vídeo
Resposta rápida: A aula ensina a refinar a cláusula WHERE do MySQL com os três filtros especiais que o sinal de igual não resolve. Você aprende a usar LIKE com o coringa de porcentagem para filtrar por trecho de texto, IN para testar uma lista de valores, BETWEEN para intervalos de números ou datas e ORDER BY para conferir o resultado.
Neste vídeo (13 min):
- 1:00 - Papel do filtro no SQL, que escolhe quais linhas da tabela entram no resultado
- 2:00 - Tabela de produtos da aula e os três filtros especiais
LIKE,INeBETWEEN - 3:00 - Leitura do código da coluna de número de série, com sigla de tipo, sigla de marca e identificador
- 4:00 - Montagem do
WHEREcomLIKEpara trazer quem contém a sigla do monitor - 5:00 - Por que
LIKE 'mnt'volta vazio e como o coringa%mnt%resolve o filtro de contém - 6:00 - Variações do coringa, com
'mnt%'para começa com e'%mnt'para termina com - 7:00 - Filtro
INe o limite do sinal de igual, que compara a coluna com um valor por vez - 8:00 - Lista de marcas entre parênteses e separada por vírgula em
IN ('Dell', 'Samsung', 'JBL') - 10:00 - Intervalo de números ou datas com
preco_unitario BETWEEN 1000 AND 3000 - 11:00 - Conferência do intervalo com
ORDER BYe comparação final entre os três filtros
Trechos do vídeo:
- O
LIKEsem o coringa vira comparação exata e devolve zero linha quando a coluna guarda o texto no meio de um código. - A posição do coringa muda a busca, porque
'mnt%'filtra o que começa com a sigla e'%mnt'o que termina com ela. - O
INsubstitui a repetição do filtro na mesma coluna, já que escrever doisWHEREpara marcas diferentes não funciona. - O
BETWEENserve para colunas de número ou de data, que é onde faz sentido pedir valores dentro de um intervalo.
Criando Filtros Especiais para Bancos de Dados MySQL
Na aula de hoje, quero te ensinar a criar filtros especiais para Bancos de Dados MySQL! Os filtros são muito importantes dentro dos bancos de dados, pois permitem fazer uma análise mais detalhada.
Vou te mostrar como utilizar os filtros LIKE, IN e BETWEEN no MySQL e como eles funcionam. Esses filtros nos ajudam a construir consultas mais detalhadas e completas a respeito do banco de dados.
Então, vem comigo que eu vou te ensinar como aplicar esses filtros especiais no SQL!
O que é Filtro no SQL?
Um filtro no SQL nos permite selecionar informações específicas dentro do banco de dados. Por exemplo, podemos selecionar apenas os clientes de um determinado estado ou gênero, entre outros critérios definidos.
Ao longo dessa aula, para exemplificar esses filtros, utilizarei a tabela produtos do meu banco de dados, mas esses conceitos podem ser aplicados em qualquer tabela de qualquer banco de dados.
select * from produtos;
Essa é uma tabela que contém o ID do Produto, Nome, ID da Categoria, Marca do Produto, Número de Série, Preço Unitário e Custo Unitário. A partir desses dados, iremos aplicar os filtros em nossas consultas.
Filtro LIKE no SQL
O operador LIKE é muito útil para filtrarmos consultas com base em padrões. Ou seja, podemos filtrar informações que comecem, terminem ou tenham um texto específico.
Por exemplo, dentro da nossa tabela, temos na coluna Num_Serie o número de série dos produtos presentes. Esse número é utilizado para identificar cada produto individualmente.
Por trás desse código existe uma lógica que identifica esses produtos. Por exemplo, a sigla MNT, que alguns produtos possuem, indica que esses produtos são monitores.
Podemos utilizar o operador LIKE para filtrar apenas os produtos que contenham a sigla MNT na coluna Num_Serie. Para isso, além do operador LIKE, utilizaremos a cláusula WHERE para a nossa condição.
select * produtos
where Num_Serie LIKE '%MNT%';Dessa forma, estamos filtrando a tabela produtos onde (where) o valor da coluna Num_Serie possui a sequência de caracteres MNT em qualquer parte do texto.
Observe que, como queremos qualquer produto que contenha a sigla MNT, colocamos a sigla entre o símbolo %. Isso indica que o MNT pode ter qualquer coisa à direita ou à esquerda dele, podendo estar em qualquer posição dentro do texto na coluna.
Como resultado dessa consulta, teremos apenas os produtos cujos números de série contenham a sigla MNT em qualquer posição.

Da mesma forma, podemos utilizar o símbolo % para definir qualquer texto que termine com MNT ou qualquer texto que comece com MNT. Para isso, basta colocar o sinal apenas no começo ou no final.
Para filtrar por números de série que comecem com MNT:
select * produtos
where Num_Serie LIKE 'MNT%';Para filtrar por números de série que terminem com MNT:
select * produtos
where Num_Serie LIKE '%MNT';Filtro IN no SQL
O operador IN é utilizado quando precisamos especificar múltiplos valores dentro de um filtro. Com ele, podemos verificar se um valor específico existe em um conjunto de valores.
O IN é muito útil, pois evita repetições na cláusula WHERE. Podemos selecionar registros na tabela que correspondam a uma lista de valores pré-definida, ao invés de um único valor por vez.
Essa lista de informações precisa ser definida entre parênteses.
select * from produtos
where Marca_Produto in ('DELL', 'SAMSUNG', 'JBL');Nesse caso, queremos filtrar os produtos que tenham a marca Dell, Samsung ou JBL.

Observe que esse filtro funciona de forma semelhante ao operador OR, só que de forma mais rápida e eficiente.
Filtro BETWEEN no SQL
O operador BETWEEN é empregado em colunas numéricas ou de datas para selecionar valores dentro de um intervalo específico. Ou seja, podemos filtrar os registros com base em critérios como faixas de preços ou datas delimitadas.
Esse filtro nos permite selecionar valores que estão entre dois valores inclusivos, ou seja, tanto o valor inicial quanto o valor final do intervalo são considerados para o resultado do filtro.
Podemos, por exemplo, filtrar os produtos da nossa tabela que tenham o preço unitário entre 1000 e 3000.
select * from produtos
where Preco_Unit between 1000 and 3000;
Podemos inclusive ordenar a exibição desses produtos utilizando a cláusula ORDER BY, passando a coluna Preco_Unit.
select * from produtos
where Preco_Unit between 1000 and 3000
order by Preco_Unit;
Perguntas frequentes
1. Como usar o LIKE para buscar parte de um texto no SQL?
O LIKE trabalha com padrões e o símbolo % representa qualquer sequência de caracteres. Escrevendo LIKE ‘%MNT%’ você traz os registros que contêm MNT em qualquer posição; com ‘MNT%’ vêm só os que começam com MNT e com ‘%MNT’, só os que terminam com MNT.
2. Qual a diferença entre IN e OR no SQL?
Os dois chegam ao mesmo resultado, mas o IN é mais enxuto e eficiente. Em vez de repetir a coluna a cada condição com OR, você lista os valores entre parênteses, como em where Marca_Produto in (‘DELL’, ‘SAMSUNG’, ‘JBL’). A consulta fica mais curta, mais fácil de ler e de manter.
3. O BETWEEN inclui os valores do início e do fim?
Sim, o BETWEEN é inclusivo: os dois extremos entram no resultado. Em where Preco_Unit between 1000 and 3000, os produtos que custam exatamente 1000 ou 3000 aparecem na consulta. Ele vale para colunas numéricas e de datas, sempre que você precisar de uma faixa de valores.
4. Dá para ordenar o resultado de uma consulta com filtro?
Dá: basta acrescentar a cláusula ORDER BY depois do filtro, informando a coluna que vai ditar a ordem. No exemplo da aula, o BETWEEN seleciona os produtos entre 1000 e 3000 e o order by Preco_Unit exibe essa lista do menor para o maior preço.
Conclusão – Criando Filtros Especiais para Bancos de Dados MySQL
Na aula de hoje, eu te ensinei a criar e utilizar filtros especiais para bancos de dados MySQL!
Esses filtros são de extrema importância dentro dos bancos de dados, pois nos permitem realizar análises de forma detalhada.
Com os filtros aprendidos nessa aula, você conseguirá construir consultas mais detalhadas e completas, de forma eficiente e prática.
Hashtag Treinamentos
Para acessar outras publicações de SQL, clique aqui!


