Junior — Middle
Explique o conceito de funções de janela em sistemas de gestão de bases de dados e sua aplicação.
sobes.tech IA
Resposta da IA
As funções de janela (window functions) em SGBDs permitem realizar cálculos sobre um conjunto de linhas relacionadas com a linha atual, sem agrupamento de dados. Elas expandem as capacidades das funções agregadas, fornecendo resultados para cada linha, mantendo os demais dados.
Principais características:
- Operam sobre uma janela de linhas definida por
OVER(). - Permitem definir a ordem (
ORDER BY) e a partição (PARTITION BY). - Permitem calcular somas móveis, classificação, totais acumulados, entre outros.
Exemplo de uso em SQL:
SELECT
employee_id,
department_id,
salary,
RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS salary_rank
FROM employees;
Aqui, para cada funcionário, é calculada a classificação do salário dentro do seu departamento.
Em C#, as funções de janela geralmente são aplicadas através de LINQ ou com consultas SQL a bancos de dados que suportam funções de janela.