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
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