Considere o seguinte requisito: “Para cada departamento com...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: C - AVG e HAVING.
Para entender a solução, é necessário conhecer funções de agregação e cláusulas de filtragem no SQL. A função AVG() é usada para calcular a média dos valores de um conjunto de dados, enquanto a cláusula HAVING é utilizada para filtrar resultados de consultas que utilizam funções de agregação, diferentemente da cláusula WHERE, que é aplicada antes dos dados serem agrupados.
Na questão, a necessidade é calcular o salário médio (AVG) por departamento e restringir os resultados aos departamentos com menos de 1000 funcionários. Como estamos lidando com um filtro que depende do resultado de uma função de agregação (contagem de funcionários), devemos utilizar a cláusula HAVING após agrupar os dados por departamento.
A consulta SQL que cumpre o requisito poderia ser assim estruturada:
```sql SELECT DepartamentoID, AVG(Salario) AS SalarioMedio FROM Funcionarios GROUP BY DepartamentoID HAVING COUNT(FuncionarioID) < 1000; ```Assim, cada departamento será agrupado, a média dos salários será calculada e, em seguida, será aplicado o filtro para retornar apenas aqueles departamentos com menos de 1000 funcionários.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo