Pular para o conteúdo principal

Questão de Banco de Dados — Geral — FUNDATEC 2026

Banco de DadosGeral
Código
qa433514
Banca
FUNDATEC
Órgão
IFC
Ano
2026
Cargo
PEBTT ( )

Considere o seguinte esquema de banco de dados relacional, supondo que as consultas são executadas utilizando SQL padrão (ANSI SQL):

 

ESTUDANTES

Imagem associada para resolução da questão


DISCIPLINAS

Imagem associada para resolução da questão


MATRICULAS

Imagem associada para resolução da questão

 

Observe que a tabela MATRICULAS representa um relacionamento N–M entre estudantes e disciplinas. Considere a seguinte consulta SQL:

 

SELECT e.nome, d.nome
FROM estudantes e
JOIN matriculas m
ON e.id_estudante = m.id_estudante
JOIN disciplinas d
ON d.id_disciplina = m.id_disciplina
WHERE m.nota >= 8;

 

Assinale a alternativa que apresenta o resultado da consulta.

  1. AImagem associada para resolução da questão
  2. BImagem associada para resolução da questão
  3. CImagem associada para resolução da questão
  4. DImagem associada para resolução da questão
  5. EImagem associada para resolução da questão
Revelar gabarito e comentário

GabaritoA — [imagem]

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Consulta SQL com JOIN e filtro de nota

Gabarito: letra A. A consulta retorna os nomes dos estudantes e das disciplinas apenas para as matrículas com nota maior ou igual a 8, unindo as três tabelas por meio de INNER JOIN. O resultado é uma lista de pares (nome do estudante, nome da disciplina) que atendem ao critério de nota.

A consulta SQL apresentada utiliza a cláusula JOIN para combinar registros de três tabelas: ESTUDANTES, MATRICULAS e DISCIPLINAS. O INNER JOIN é o tipo de junção padrão no SQL e retorna apenas as linhas que possuem correspondência em ambas as tabelas envolvidas. Neste caso, a junção é feita entre ESTUDANTES e MATRICULAS pela chave id_estudante, e entre MATRICULAS e DISCIPLINAS pela chave id_disciplina. Isso significa que apenas os estudantes que possuem matrícula e as disciplinas que possuem matrícula correspondente serão incluídos no resultado.

O filtro WHERE m.nota >= 8 é aplicado após a junção, selecionando apenas as matrículas cuja nota seja maior ou igual a 8. Portanto, o resultado final contém apenas os pares de estudante e disciplina cuja matrícula atende a esse critério. É importante notar que a consulta não utiliza LEFT JOIN ou RIGHT JOIN, que incluiriam registros sem correspondência; o INNER JOIN exclui qualquer linha que não tenha par em ambas as tabelas.

Na prática, se um estudante não tiver nenhuma matrícula, ele não aparecerá no resultado, mesmo que tenha nota alta em alguma disciplina (o que seria impossível sem matrícula). Da mesma forma, se uma disciplina não tiver nenhum estudante matriculado, ela também não aparecerá. O resultado é uma lista de pares (nome do estudante, nome da disciplina) para cada matrícula com nota >= 8.

A pegadinha desta questão está em entender que o INNER JOIN elimina registros sem correspondência. Se a consulta usasse LEFT JOIN, por exemplo, estudantes sem matrícula apareceriam com valores nulos para disciplina. Mas como é INNER JOIN, apenas os pares com matrícula válida e nota >= 8 são retornados. Além disso, é preciso observar que a consulta não usa DISTINCT, então se um estudante tiver duas matrículas na mesma disciplina com nota >= 8, ele aparecerá duas vezes no resultado.

Para resolver a questão, é necessário analisar as tabelas fornecidas nas imagens e aplicar o filtro de nota. O resultado correto é aquele que lista os pares de nomes que atendem à condição nota >= 8.

Alternativa A — ✅ Correta ⟵ GABARITO

A alternativa A apresenta o resultado correto da consulta, listando os pares de nomes de estudantes e disciplinas cujas matrículas têm nota maior ou igual a 8. A consulta usa INNER JOIN, que combina apenas as linhas com correspondência nas três tabelas, e o filtro WHERE m.nota >= 8 seleciona apenas as matrículas que atendem ao critério. Portanto, o resultado é exatamente o conjunto de pares (nome do estudante, nome da disciplina) que satisfazem a condição.

Alternativa B — ❌ Incorreta

A alternativa B está incorreta porque apresenta um resultado que não corresponde ao filtro de nota. Provavelmente inclui matrículas com nota menor que 8, ou omite algumas matrículas com nota >= 8. O INNER JOIN com o filtro WHERE m.nota >= 8 garante que apenas as matrículas com nota alta sejam retornadas, então qualquer resultado que inclua notas abaixo de 8 está errado.

Alternativa C — ❌ Incorreta

A alternativa C está incorreta porque provavelmente usa um tipo de junção diferente, como LEFT JOIN, que incluiria estudantes ou disciplinas sem matrícula correspondente. Como a consulta usa INNER JOIN, o resultado não pode conter linhas com valores nulos para nome de estudante ou disciplina. Se a alternativa C apresenta tais linhas, ela está errada.

Alternativa D — ❌ Incorreta

A alternativa D está incorreta porque provavelmente inverte a ordem dos nomes ou apresenta um resultado que não corresponde à condição de nota. A consulta seleciona e.nome e d.nome, nessa ordem, então o resultado deve ter o nome do estudante primeiro e o da disciplina depois. Se a alternativa D apresenta os nomes em ordem trocada ou com filtro incorreto, ela está errada.

Alternativa E — ❌ Incorreta

A alternativa E está incorreta porque provavelmente inclui matrículas com nota menor que 8 ou omite algumas com nota >= 8. O filtro WHERE m.nota >= 8 é claro: apenas notas maiores ou iguais a 8 são consideradas. Qualquer resultado que não reflita exatamente esse critério está errado.

Gabarito: letra A

Link permanente: /questoes/qa433514