Com base na tabela de nome vendas apresentada acima e nos conceitos de SQL, DLL e DML, julgue o próximo item.A execução do comando SQL a seguir apresentará a soma de todas as vendas cujo valor excede 150.00.SELECT SUM(valorVenda) FROM vendas WHERE valorVenda > 150.00;
CCerto
EErrado
Revelar gabarito e comentário▾
GabaritoC — Certo
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”.
SQL: função de agregação SUM com filtro WHERE
Gabarito: Certo (C). O comando SELECT SUM(valorVenda) FROM vendas WHERE valorVenda > 150.00; soma apenas os valores da coluna valorVenda que são estritamente maiores que 150.00, pois a cláusula WHERE filtra as linhas antes da agregação SUM. A sintaxe está correta e o comportamento é exatamente o descrito no enunciado.
A função SUM é uma função de agregação do SQL que retorna a soma dos valores de uma coluna numérica. Ela é sempre combinada com a cláusula SELECT e, quando usada com WHERE, o filtro é aplicado antes da agregação. Isso significa que o banco de dados primeiro seleciona as linhas que atendem à condição valorVenda > 150.00 e, somente depois, soma os valores da coluna valorVenda dessas linhas.
A cláusula WHERE é um dos elementos mais fundamentais do SQL, usada para filtrar registros com base em uma condição. No comando em questão, a condição é valorVenda > 150.00, que utiliza o operador relacional > (maior que). Esse operador é exclusivo — ou seja, valores exatamente iguais a 150.00 não são incluídos no resultado, pois a condição exige que o valor seja estritamente maior.
Para entender melhor, considere um exemplo prático. Suponha que a tabela vendas tenha os seguintes registros na coluna valorVenda: 100.00, 150.00, 200.00, 250.00 e 300.00. O comando SELECT SUM(valorVenda) FROM vendas WHERE valorVenda > 150.00; filtraria apenas os valores 200.00, 250.00 e 300.00, e a soma retornada seria 750.00. O valor 150.00 seria excluído por não ser estritamente maior que 150.00.
A distinção importante aqui é entre > (maior que) e >= (maior ou igual a). Se o comando usasse >=, o valor 150.00 seria incluído. A banca explora exatamente essa diferença sutil: o candidato pode ler rapidamente e pensar que a condição inclui valores iguais a 150.00, mas o operador > exclui esse valor. Além disso, é fundamental lembrar que SUM ignora valores NULL na coluna, mas isso não afeta a correção do comando, pois a condição WHERE já filtra as linhas.
Outro ponto que merece destaque é a diferença entre WHERE e HAVING. Enquanto WHERE filtra linhas individuais antes da agregação, HAVING filtra grupos depois da agregação. No comando em questão, o uso de WHERE é correto porque o filtro é sobre valores individuais da coluna, não sobre o resultado agregado. Se a intenção fosse filtrar o resultado da soma (por exemplo, somas maiores que um valor), seria necessário usar HAVING.
A pegadinha desta questão está na interpretação do operador > e na ordem de execução das cláusulas. O candidato pode pensar que o comando soma todas as vendas e depois filtra, mas na verdade o filtro é aplicado primeiro. Além disso, a banca pode tentar confundir com o operador >=, que incluiria o valor 150.00. Fique atento a esses detalhes.
NÃO CAIA NESSA!
A banca explora a diferença entre > e >=. O comando usa > (maior que), que exclui valores exatamente iguais a 150.00. Se fosse >=, o valor 150.00 seria incluído. Além disso, lembre-se de que WHERE filtra antes da agregação, não depois.
1FROM (tabela)
2WHERE (filtro)
3SUM (agregação)
4SELECT (projeção)
LEVEL · soulevel.com.br
Item — ✅ CERTO
O comando SELECT SUM(valorVenda) FROM vendas WHERE valorVenda > 150.00; está correto. A função SUM soma os valores da coluna valorVenda, e a cláusula WHERE filtra apenas as linhas em que o valor é estritamente maior que 150.00. A ordem de execução é: primeiro o filtro WHERE, depois a agregação SUM. Portanto, o resultado é exatamente a soma de todas as vendas cujo valor excede 150.00.