ANC - Analista em Computação - Ênfase em Desenvolvimento Oracle PL/SQL
No comando SELECT, pode-se utilizar funções de agregação (MIN, MAX, SUM, AVG, COUNT) que são aplicadas em um conjunto de tuplas. Analise as assertivas abaixo e assinale a alternativa correta.I. Funções de agregação somente podem ser utilizadas junto com a cláusula GROUP BY.II. As cláusulas HAVING e WHERE tem exatamente a mesma função.III. A função AVG somente pode ser usada com campos numéricos
ATodas estão corretas.
BTodas estão incorretas.
CApenas I está correta.
DApenas II está correta.
EApenas III está correta.
Revelar gabarito e comentário▾
GabaritoE — Apenas III está correta.
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”.
Funções de Agregação no SQL (SELECT)
Gabarito: letra E. Apenas a afirmativa III está correta: a função AVG realmente exige campos numéricos. As afirmativas I e II são falsas, pois funções de agregação podem ser usadas sem GROUP BY, e HAVING e WHERE têm propósitos distintos.
Item I — ❌ Incorreta
Afirma que funções de agregação somente podem ser usadas com GROUP BY. Na verdade, funções como COUNT, SUM, AVG, MAX, MIN podem ser usadas sem GROUP BY — por exemplo, SELECT COUNT(*) FROM Produtos. O GROUP BY é necessário apenas quando se deseja agrupar os resultados por colunas específicas. O material de apoio confirma: "Uma função agregadora não exige o uso da cláusula GROUP BY."
Item II — ❌ Incorreta
Diz que HAVING e WHERE têm exatamente a mesma função. São diferentes: WHERE filtra linhas antes do agrupamento; HAVING filtra grupos após o GROUP BY. A cláusula HAVING é usada com funções de agregação para impor condições sobre os grupos — o que não é possível com WHERE.
Item III — ✅ Correta
A função AVG calcula a média aritmética, que só faz sentido para valores numéricos. Portanto, só pode ser aplicada a campos numéricos (inteiros, decimais etc.). Isso está correto.
PEGA ESSA DICA!
Decore a diferença entre WHERE (filtra linhas antes da agregação) e HAVING (filtra grupos depois da agregação). Lembre-se de que funções de agregação podem sim ser usadas sem GROUP BY — confira com SELECT COUNT(*) FROM tabela;.
Gabarito: letra E — apenas o item III está correto.