FC ConcursosFC Concursos

Flashcard FC370288

Como verificar se um registro está relacionado a todos os registros de outra tabela em SQL?

Linguagem SQL

FGV · 2024

De acordo com o assunto TI Banco de Dados: Linguagem SQL, responda:

Como verificar se um registro está relacionado a todos os registros de outra tabela em SQL?
Mostrar resposta e comentário

Resposta

Utilize uma subconsulta correlacionada com NOT EXISTS.

Explicação:
Para cada registro A, confirme que não existe nenhum registro B que não esteja associado a A.
Padronamente usa-se uma dupla negação:
SELECT ... FROM A a WHERE NOT EXISTS (SELECT 1 FROM B b WHERE NOT EXISTS (SELECT 1 FROM Rel r WHERE r.a_id = a.id AND r.b_id = b.id));
Observação: prefira NOT EXISTS em vez de NOT IN quando houver possibilidade de NULL, para evitar resultados inesperados.






Veja como foi cobrado:
https://flashcardsconcursos.com.br/portal/flashcard/359636

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo