Usando as Condições IN e NOT IN no MySQL

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

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *