Ed
há 11 meses
Para determinar a consulta SQL correta, precisamos entender como funciona a agregação de dados e as cláusulas `GROUP BY` e `HAVING`. 1. `GROUP BY` é usado para agrupar os resultados com base em uma ou mais colunas. 2. `HAVING` é usado para filtrar os resultados após a agregação, ou seja, ele é aplicado a resultados agregados, como a média (`AVG`). Agora, vamos analisar as opções: (A) SELECT departamento, AVG(salario) FROM funcionarios WHERE AVG(salario) > 3000 GROUP BY departamento; - Incorreto, pois não se pode usar `AVG(salario)` na cláusula `WHERE`. (B) SELECT departamento, AVG(salario) FROM funcionarios GROUP BY departamento WHERE AVG(salario) > 3000; - Incorreto, pois a cláusula `WHERE` deve vir antes do `GROUP BY`. (C) SELECT departamento, AVG(salario) FROM funcionarios GROUP BY AVG(salario) HAVING AVG(salario) > 3000; - Incorreto, pois não se pode agrupar por uma função agregada como `AVG(salario)`. (D) SELECT departamento, AVG(salario) FROM funcionarios GROUP BY departamento HAVING AVG(salario) > 3000; - Correto, pois agrupa os dados por `departamento` e filtra os grupos onde a média do salário é maior que 3000. (E) SELECT departamento, AVG(salario) FROM funcionarios HAVING AVG(salario) > 3000; - Incorreto, pois não há um `GROUP BY`, o que torna a cláusula `HAVING` inadequada. Portanto, a alternativa correta é: (D) SELECT departamento, AVG(salario) FROM funcionarios GROUP BY departamento HAVING AVG(salario) > 3000.


Cadastre-se ou realize login
Ao continuar, você aceita os Termos de Uso e Política de Privacidade
Mais perguntas desse material