Analise as informações a seguir. SUBMARINO (INDICATIVO, CLAS...

Próximas questões
Com base no mesmo assunto
Q641522 Banco de Dados

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

Alternativas

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