Matemática Múltipla Escolha

Pedro está analisando os dados da instituição e deseja identificar todos os níveis de ensino, incluindo aqueles que ainda não têm nenhum curso associado. A consulta que ele construiu abaixo realiza a tarefa desejada?

Pedro está analisando os dados da instituição e deseja identificar todos os níveis de ensino, incluindo aqueles que ainda não têm nenhum curso associado. A consulta que ele construiu abaixo realiza a tarefa desejada?

  1. Sim, pois ela trará todos os níveis cadastrados, com ou sem cursos associados.
  2. Não, pois ela ignora os níveis que não estão associados a nenhum curso.
  3. Sim, pois a junção à direita garante que todos os níveis apareçam, mesmo sem cursos associados.
  4. Não, pois ela retornará apenas os cursos que possuem nível associado.
  5. Sim, porque retorna todos os cursos e níveis, mesmo quando não há associação.

Resolução completa

Explicação passo a passo

B
Alternativa B

Alternativa B - Não, pois ela ignora os níveis que não estão associados a nenhum curso.

Justificativa Didática

Para resolver essa questão, precisamos entender como funciona a cláusula JOIN em SQL, especificamente o tipo RIGHT JOIN.

1. Entendendo o Objetivo

Pedro deseja listar todos os níveis de ensino, inclusive aqueles que ainda não têm nenhum curso cadastrado. Ou seja, a tabela principal deve ser NIVEL, garantindo que seus registros apareçam mesmo sem correspondência na tabela CURSO.

2. Análise da Consulta SQL

A query apresentada é:

SELECT N.DESCRICAO, C.NOME 
FROM NIVEL N 
RIGHT JOIN CURSO C 
ON N.CODIGONIVEL = C.CODIGONIVEL
  • Tabela Esquerda: NIVEL (alias N)
  • Tabela Direita: CURSO (alias C)
  • Tipo de Junção: RIGHT JOIN (Junção à Direita)

3. Regra do RIGHT JOIN

Em um RIGHT JOIN, o banco de dados prioriza a tabela que está posicionada à direita da palavra-chave JOIN.

  • Ele retorna todos os registros da tabela da direita (CURSO).
  • Retorna os registros da tabela da esquerda (NIVEL) apenas se houver correspondência (caso contrário, preenche com NULL).

4. Por que a consulta falha?

Como a tabela CURSO está à direita, a consulta garante que todos os cursos apareçam. No entanto, se um nível de ensino não tiver nenhum curso associado, ele estará na tabela da esquerda (NIVEL) e será excluído do resultado, pois não há correspondência na tabela da direita.

Isso é o oposto do que Pedro precisa. Para conseguir o objetivo dele, a consulta deveria usar um LEFT JOIN (para proteger a tabela NIVEL) ou um FULL OUTER JOIN.

Tipo de JOINTabela Protegida (Todos os registros vêm)O que acontece com dados sem par
INNER JOINNenhuma (só vem quem tem par)Dados sem par são descartados
LEFT JOINTabela da EsquerdaPreenche colunas da direita com NULL
RIGHT JOINTabela da DireitaPreenche colunas da esquerda com NULL

Conclusão

A alternativa B é a correta porque identifica precisamente que o RIGHT JOIN fará com que os níveis sem cursos sejam ignorados, já que a proteção é dada à tabela CURSO.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Matemática

Ver mais Matemática resolvidas

Tem outra questão de Matemática?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.