Podemos usar a condição IN para retornar apenas valores que estão dentro de uma lista, por exemplo, eu tenho uma tabela de funcionários, e quero fazer a busca dos funcionários com idade, 18, 19, e 20 anos:
SELECT * FROM funcionarios WHERE idade IN (18, 19, 20);
Usando o comando NOT IN nos teremos todos os funcionários que não tem 18, 19 e 20 anos.
Podemos usar esse comando com Subqueries para fazer buscas mais avançadas, por exemplo:
Tenho uma tabela de “funcionarios”, cada funcionário tem um setor, e cada setor tem um ID de idenficação, eu quero saber se existe algum setor que não tem funcionários cadastrados, para retornar os setores que não tem funcionários cadastrados podemos usar a seguinte Query usando o NOT IN:
SELECT * FROM setor WHERE id NOT IN (SELECT id_setor FROM funcionarios GROUP BY id_setor);
Essa query deve me retornas apenas os setores que não possui nenhum funcionário cadastrado.
Deixe um comentário