Como usar os operadores IN e NOT IN – Filtros de Múltiplas Condições – SQL Server

Operadores IN e NOT IN – Filtros de Múltiplas Condições no Microsoft SQL Server

O operador IN determina se um determinado valor corresponde a qualquer valor discriminado em uma subconsulta ou lista.
Retorna sempre TRUE ou FALSE.

Esse operador pode substituir o operador lógico OR em consultas com muitas condições, tornando o código mais simples e legível.

Sintaxe:

WHERE Valor (NOT) IN (subconsulta | lista)

Exemplos

1. Retornar todos as colunas da tabela de livros, mas apenas dos livros publicados pelas editoras de IDs 1, 2 e 5:

SELECT * FROM tbl_livros 
WHERE IdEditora IN (1, 2, 5);

2. Retornar nomes de livros e seus respectivos assuntos, dos livros cujo assunto seja Aventura, Eletrônica ou Matemática:

SELECT L.NomeLivro, A.NomeAssunto
FROM tbl_livros L
INNER JOIN tbl_assuntos A
ON L.IdAssunto = A.IdAssunto
WHERE A.NomeAssunto IN ('Aventura', 'Eletrônica', 'Matemática');

3. Retornar nomes dos livros, suas datas de publicação e e id das editoras, de todas as editoras EXCETO das editoras de ids iguais a 2 ou 4:

SELECT NomeLivro, DataPub, IdEditora
FROM tbl_livros 
WHERE IdEditora NOT IN (2, 4);

4. Retornar os nomes dos livros e seus respectivos autores, dos livros publicados pelas editoras Wiley, Bookman e Microsoft Press (usando tabela associativa tbl_livros_autores):

SELECT L.NomeLivro, A.NomeAutor, E.NomeEditora
FROM tbl_livros_autores LA
INNER JOIN tbl_autores A
 ON LA.IdAutor = A.IdAutor
INNER JOIN tbl_livros L
 ON LA.IdLivro = L.IdLivro
INNER JOIN tbl_editoras E
 ON L.IdEditora = E.IdEditora
WHERE E.NomeEditora IN ('Wiley', 'Bookman', 'Microsoft Press');

Assista a um vídeo sobre o assunto para aprender mais e tirar suas dúvidas:

Sobre Fábio dos Reis (1195 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.

Escreva um comentário

Seu e-mail não será divulgado


*