Analise as informações a seguir. SUBMARINO (INDICATIVO, CLAS...
Analise as informações a seguir.
SUBMARINO (INDICATIVO, CLASSE, NOME)
TRIPULANTE (IDENTIDADE, NOME, INDICATIVO_SUBMARINO)
Baseando-se nas estruturas de tabelas acima, assinale a consulta
SQL que apresenta o nome dos tripulantes que pertencem
aos submarinos da Classe "TUPI".
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: A
Para entender essa questão, é necessário ter conhecimentos sobre consultas SQL, especificamente no uso de subconsultas e relações entre tabelas. A questão apresenta duas tabelas: SUBMARINO e TRIPULANTE. A tabela SUBMARINO tem os campos INDICATIVO, CLASSE e NOME, enquanto a tabela TRIPULANTE possui IDENTIDADE, NOME e INDICATIVO_SUBMARINO.
O objetivo é buscar os nomes dos tripulantes que pertencem a submarinos da classe "TUPI". Para isso, precisamos correlacionar as duas tabelas usando o campo INDICATIVO da tabela SUBMARINO e INDICATIVO_SUBMARINO da tabela TRIPULANTE.
Justificativa da Alternativa Correta:
A alternativa A é correta porque utiliza uma subconsulta para relacionar as duas tabelas. Ela seleciona o nome dos tripulantes onde o INDICATIVO_SUBMARINO está na lista de submarinos que pertencem à classe "TUPI". A subconsulta (SELECT * FROM SUBMARINO WHERE CLASSE = "TUPI"
) obtém os indicativos de submarinos da classe "TUPI", que são então usados na cláusula IN.
Análise das Alternativas Incorretas:
B: A alternativa B tenta usar uma cláusula NOT EXISTS, mas o uso não faz sentido lógico. Ela não relaciona adequadamente as tabelas nem restringe a busca ao critério da classe "TUPI".
C: A alternativa C seleciona dados da tabela SUBMARINO, mas tenta comparar o campo IDENTIDADE de forma inadequada, além de não realizar a lógica correta para associar os tripulantes aos submarinos da classe "TUPI".
D: A alternativa D tenta usar uma subconsulta mas falha em associar as tabelas corretamente. Está tentando verificar a classe na tabela TRIPULANTE, o que não é possível pois essa informação não está nessa tabela.
E: A alternativa E tenta realizar uma seleção nos submarinos sem considerar a lógica correta. O uso de INDICATIVO e IDENTIDADE está incorreto, além de não focar no critério desejado (classe "TUPI").
"Gostou do comentário? Deixe sua avaliação aqui embaixo!"
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
O gabarito é a letra A.
Não concordo. Foi incluída uma condição com o campo INDICATIVO, que é da tabela SUBMARINO, sem que esta tivesse sido mencionada no FROM. Outro problema é o campo IDENTIDADE, que aparece nos resultados da consulta sem que o enunciado tenha solicitado. Deveriam ter anulado a questão.
Essa questão deveria ser anulada pois nenhuma das opções está correta. As consultas que atenderiam o que a questão pede são:
SELECT NOME FROM TRIPULANTE WHERE INDICATIVO_SUBMARINO IN (SELECT INDICATIVO FROM SUBMARINO WHERE CLASSE = 'TUPI')
ou
SELECT NOME FROM TRIPULANTE WHERE EXISTS (SELECT * FROM SUBMARINO WHERE INDICATIVO = INDICATIVO_SUBMARINO AND CLASSE = 'TUPI')
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo