Com o SQL Server 2022, novas funcionalidades foram introduzidas para facilitar o uso e a leitura de consultas, especialmente quando se trabalha com funções de janela. Uma dessas adições é a cláusula WINDOW, que permite definir especificações reutilizáveis de janela para funções como ROW_NUMBER(), SUM(), AVG(), entre outras.
Neste post, vamos entender como essa cláusula funciona, seus benefícios, requisitos e como utilizá-la na prática.
O que é a cláusula WINDOW?
A cláusula WINDOW permite nomear uma definição de janela que pode ser reutilizada em várias funções de janela dentro de uma consulta. Isso torna o código mais limpo, legível e menos propenso a erros de repetição.
Ela é usada em conjunto com a cláusula OVER, que define como as linhas devem ser particionadas e ordenadas para a função de janela.
Requisitos
Para utilizar a cláusula WINDOW, o banco de dados deve estar com nível de compatibilidade 160 ou superior. Você pode verificar e alterar isso com os comandos:
ALTER DATABASE NomeDoBanco SET COMPATIBILITY_LEVEL = 160;
Sintaxe da cláusula WINDOW
WINDOW nome_da_janela AS (
[ janela_referenciada ]
[ PARTITION BY ... ]
[ ORDER BY ... ]
[ ROWS | RANGE ... ]
)
window_name: Nome da janela que será usada na cláusulaOVER.PARTITION BY: Divide os dados em grupos.ORDER BY: Ordena os dados dentro de cada partição.ROWSouRANGE: Define um frame (janela móvel) dentro da partição.
Vantagens da cláusula WINDOW
- Reduz duplicação de código SQL.
- Melhora a legibilidade de consultas com múltiplas funções de janela.
- Permite construir janelas complexas com base em outras janelas nomeadas.
Conclusão
A cláusula WINDOW é uma adição poderosa ao arsenal de quem trabalha com SQL Server, promovendo clareza, organização e eficiência em consultas que envolvem funções analíticas. Se você ainda não testou, experimente utilizá-la em seus relatórios e scripts analíticos!
Você já utilizou a cláusula WINDOW nas suas queries? Compartilhe sua experiência nos comentários! 👇