FC ConcursosFC Concursos

Flashcard FC296669

Como selecionar registros de uma tabela cujo identificador não aparece no conjunto retornado por uma subquery que filtra por uma característica?

Linguagem SQL

CESGRANRIO · 2023

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

Como selecionar registros de uma tabela cujo identificador não aparece no conjunto retornado por uma subquery que filtra por uma característica?
Mostrar resposta e comentário

Resposta

Use NOT IN com uma subquery que retorna os identificadores a excluir.

Explicação:
A subquery deve retornar apenas as chaves (identificadores) associadas à característica a excluir.
A consulta externa seleciona os registros cujo identificador NÃO pertence a esse conjunto.
Se houver tabela associativa, faça JOIN dentro da subquery para filtrar pela sigla da característica.

Consulta modelo:
SELECT E.id, E.nome
FROM Entidade E
WHERE E.id NOT IN (
SELECT A.entidade_id
FROM Associativa A JOIN Caracteristica C ON A.cod = C.cod
WHERE C.sigla = 'valor'
)




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

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

Continue aprendendo