🎯 Saiba o que estudar

Avançado com Treinador a partir de R$ 0,76/dia

Considere a seguinte tabela de um banco de dados relacional...

Próximas questões
Com base no mesmo assunto
Q4197942 Banco de Dados
Considere a seguinte tabela de um banco de dados relacional.
Disciplina (Nome, NumAluno, Nota)
A consulta SQL que possibilita a exibição do nome de cada disciplina e da nota média obtida em cada disciplina é: 
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: C

Fundamento decisivo: A presença de AVG(Nota) junto com Nome exige GROUP BY Nome; entre as alternativas, só a C atende a esse critério.

Tema central: Agregação com GROUP BY
Análise das alternativas
A
Errada
Está incorreta porque seleciona Nome junto com AVG(Nota), mas não faz GROUP BY Nome. Sem esse agrupamento, a consulta não produz corretamente a média de cada disciplina.
B
Errada
Está incorreta porque WHERE Nome IN GROUP não é sintaxe adequada de SQL para agrupamento. O erro específico é usar WHERE no lugar de GROUP BY, e essa construção não realiza a média por disciplina.
C
Certa
A alternativa C aplica a regra básica de consulta agregada por grupo: usa AVG(Nota) para calcular a média e GROUP BY Nome para formar um resultado por disciplina. Isso é exatamente o procedimento exigido quando se quer exibir um atributo não agregado, Nome, junto de uma função de agregação, AVG(Nota), obtendo a média das notas de cada disciplina a partir da tabela Disciplina.
D
Errada
Está incorreta porque FROM Disciplina (Nome) não é, nesse contexto, forma válida para obter a média por disciplina. Além da sintaxe inadequada, não há GROUP BY Nome.
E
Errada
Está incorreta porque falta a cláusula FROM Disciplina, que informa a origem dos dados, e GROUP BY Disciplina (Nome) está em forma inadequada nesse contexto. GROUP BY não substitui FROM.
Pegadinha da questão
A confusão explorada foi entre calcular uma média usando AVG e calcular a média por disciplina, o que exige agrupamento por Nome; também apareceu a tentativa de induzir erro com sintaxes aparentes, mas inválidas.
Dica para questões semelhantes
  • Se a consulta mostra um campo comum e uma função de agregação no mesmo SELECT, verifique se há GROUP BY para o campo não agregado.
  • Para resultado por categoria, o agrupamento deve ser feito exatamente pelo atributo que define essa categoria.
  • Não aceite WHERE como substituto de GROUP BY em consultas de agregação.
  • Confira se a consulta informa a tabela de origem com FROM antes de validar o restante da sintaxe.

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

Concordo com a resposta porque o group by é a resposta esperada para agrupamentos, mas eu errei esta questão porque quando vi o sublinhado no campo nome eu entendi que era uma chave primária, então não faria sentido haver repetição de uma disciplina, muito menos de pedir agrupamento, então um Select simples já mostraria tudo agrupado. O que me deixa pensando que tenho que revisar os estudos teóricos de coisas que não se usa mais há décadas, que é esta notação dos anos 70, para uma vaga que vai consumir IA a maior parte do tempo. Eu queria estar estudando coisas mais relevantes, mas o concurso é quem define isso. #desabafo

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo