📋 Operador IN no SQL

Introdução

O operador IN é utilizado para verificar se um valor pertence a uma lista de valores especificados.

Ele simplifica consultas que exigiriam diversas comparações utilizando o operador OR.

📌 IN torna consultas mais curtas, organizadas e fáceis de manter.

Sintaxe Básica

SELECT *

FROM tabela

WHERE campo IN
(valor1, valor2, valor3);

Tabela de Exemplo

CLIENTES

+----+----------+-------------+

| ID | Nome     | Cidade      |

+----+----------+-------------+

| 1  | Ana      | Jacareí     |

| 2  | Carlos   | São Paulo   |

| 3  | Pedro    | Campinas    |

| 4  | Maria    | Jacareí     |

| 5  | João     | Taubaté     |

+----+----------+-------------+

Exemplo Utilizando IN

SELECT *

FROM clientes

WHERE cidade IN
('Jacareí', 'Campinas');

Retorna clientes que moram em Jacareí ou Campinas.

Mesmo Exemplo Utilizando OR

SELECT *

FROM clientes

WHERE cidade = 'Jacareí'
OR cidade = 'Campinas';

O resultado é o mesmo, porém a consulta com IN é mais simples.

IN com Valores Numéricos

SELECT *

FROM produtos

WHERE id IN (1, 3, 5, 8);

Retorna apenas os registros com os IDs informados.

IN com Datas

SELECT *

FROM pedidos

WHERE data_pedido IN
('2026-01-10',
 '2026-02-15',
 '2026-03-20');

Filtra registros que correspondem exatamente às datas informadas.

NOT IN

O operador NOT IN retorna registros que não pertencem à lista.

SELECT *

FROM clientes

WHERE cidade NOT IN
('Jacareí', 'Campinas');

Retorna clientes que moram em outras cidades.

IN com Subconsultas

SELECT *

FROM clientes

WHERE id IN
(
   SELECT id_cliente
   FROM pedidos
);

Retorna clientes que possuem pedidos cadastrados.

Aplicações no Mundo Real

Sistema Utilização
E-commerce Produtos por categorias específicas
CRM Clientes de determinadas regiões
RH Funcionários de setores específicos
Financeiro Filtragem de lançamentos

Vantagens do IN

Erros Comuns

Erro Problema
Esquecer parênteses Erro de sintaxe
Tipos incompatíveis Resultado incorreto
Lista vazia Nenhum registro encontrado
Uso inadequado do NOT IN Resultados inesperados

Boas Práticas

Resumo da Aula

🎓 Aula concluída! Agora você sabe utilizar o operador IN para criar filtros mais simples, organizados e eficientes no MySQL.