Considere seguinte consulta SQL, submetida ao PostgreSQL 9.5:
SELECT depname, empno, salary, avg(salary) OVER (PARTITION BY depname) FROM empsalary;
Assinale a alternativa que descreve corretamente o resultado esperado:
- A. Ao remover a sintaxe OVER (PARTITION BY depname) do comando acima, o resultado é o mesmo obtido com a cláusula GROUP BY depname, empno, salary.
- B. A média dos salários é calculada por departamento, empno e salary.
- C. A média dos salários é calculada por departamento, mas o nome do departamento pode ser duplicado nos casos em que ocorrer mais de um registro do mesmo departamento na tabela empsalary.
- D. O comando resulta em mensagem de erro, em decorrência de o uso da função de agregação avg estar presente na consulta, juntamente com outras colunas, sem a respectiva presença desses campos na cláusula GROUP BY.
- E. O resultado é formado pelas colunas depname, empno, salary e avg(salary), os registros são agrupados por depname, empno e salary e a média é calculada sobre as tuplas desse agrupamento.