FC ConcursosFC Concursos

Flashcard FC296680

Como selecionar chaves que nunca foram referenciadas ou cuja contagem de referências atinge o valor máximo armazenado?

Linguagem SQL

CESGRANRIO · 2022

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

Como selecionar chaves que nunca foram referenciadas ou cuja contagem de referências atinge o valor máximo armazenado?
Mostrar resposta e comentário

Resposta

Resposta: Usar subconsulta correlacionada com COUNT(*) e NOT IN.

SELECT A.NUM
FROM PASSE A
WHERE A.NUM_VIAGENS = (SELECT COUNT(*) FROM REG_VIAGEM WHERE NUM = A.NUM)
   OR A.NUM NOT IN (SELECT NUM FROM REG_VIAGEM)


Explicação:
A primeira condição usa subconsulta correlacionada para testar \(A.NUM\_VIAGENS = COUNT(*)\) das ocorrências por chave.
A segunda condição (NOT IN) captura chaves sem registros na tabela dependente; só é segura se a coluna comparada for NOT NULL.
O OR combina ambas as situações; a chave primária garante resultados únicos.




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

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

Continue aprendendo