Questão de Banco de Dados — SQL — CESPE / CEBRASPE 2025
- Código
- ce203903
- Banca
- CESPE / CEBRASPE
- Órgão
- FUB
- Ano
- 2025
- Nível
- Médio
- Cargo
- Técnico de Tecnologia da Informação
- CCerto
- EErrado
GabaritoE — Errado
Gabarito: ❌ ERRADO. A cláusula HAVING não opera em um único conjunto de dados sem agregação; pelo contrário, ela é aplicada após o agrupamento (GROUP BY) para filtrar grupos com base em funções de agregação (COUNT, SUM, AVG, etc.).
A afirmação inverte o papel da cláusula HAVING com o da cláusula WHERE. Enquanto o WHERE filtra linhas individuais antes da agregação, o HAVING filtra grupos após a agregação. Por exemplo, em uma consulta que conta vendas por vendedor, a condição HAVING COUNT(*) > 5 só pode ser aplicada após o GROUP BY. A cláusula HAVING exige, portanto, uma agregação — não opera "sem agregação".
A banca troca o comportamento da cláusula HAVING pelo da cláusula WHERE. O aluno que confunde os dois tende a marcar "Certo". Lembre-se: WHERE = antes da agregação (linhas), HAVING = depois da agregação (grupos).
Fonte: Comportamento padrão do SQL (padrão ANSI) conforme amplamente documentado em manuais de banco de dados.
A assertiva está errada porque afirma que o HAVING opera sem agregação, quando seu uso correto está atrelado a uma função de agregação em conjunto com GROUP BY.
Link permanente: /questoes/ce203903