Consulta em duas tabelas com as mesmas colunas

MySQL

21/11/2024

Eu tenho a tabela A com a coluna nome e tenho a tabela B com a coluna nome. Preciso saber qual nomes que estão na tabela A que não estão na tabela B. Os faltantes.

Preciso dessa ajuda. Obrigado
Jonas

Jonas

Curtidas 0

Respostas

Arthur Heinrich

Arthur Heinrich

21/11/2024

A resposta para a sua pergunta depende de que banco está utilizando.

No Oracle, é possível utilizar operações com conjuntos. Você pode subtrair um conjunto de outro e ele te mostra o que está a mais no primeiro conjunto.

select nome from a
minus
select nome from b


Caso o banco não apresente esta funcionalidade (minus), será necessário fazer um filtro:

select nome
from a
where
  not exists ( select 1
               from b
               where
                 b.nome = a.nome )

GOSTEI 0
Jonas

Jonas

21/11/2024

Obrigado Athur, deu certo a segunda opção. Meu banco é o mysql. Tinha tentando outras opções, mas não fiz com not exists...

A resposta para a sua pergunta depende de que banco está utilizando.

No Oracle, é possível utilizar operações com conjuntos. Você pode subtrair um conjunto de outro e ele te mostra o que está a mais no primeiro conjunto.

select nome from a
minus
select nome from b


Caso o banco não apresente esta funcionalidade (minus), será necessário fazer um filtro:

select nome
from a
where
  not exists ( select 1
               from b
               where
                 b.nome = a.nome )

GOSTEI 0
POSTAR