Sobes.tech
Middle

Como obter valores de uma tabela que não estão em outra em SQL?

sobes.tech IA

Resposta da IA

Para obter valores de uma tabela que não estão em outra, geralmente usa-se a construção com LEFT JOIN e verificação de NULL ou o operador NOT EXISTS.

Exemplo com LEFT JOIN:

SELECT t1.*
FROM table1 t1
LEFT JOIN table2 t2 ON t1.id = t2.id
WHERE t2.id IS NULL;

Aqui, selecionam-se todas as entradas de table1 que não têm correspondentes em table2.

Exemplo com NOT EXISTS:

SELECT *
FROM table1 t1
WHERE NOT EXISTS (
  SELECT 1
  FROM table2 t2
  WHERE t2.id = t1.id
);

Ambas as opções são eficazes, a escolha depende do sistema de gestão de bases de dados específico e da situação.