As "Funções de Janela" (Window Functions) em SQL
permitem realizar cálculos sobre um conjunto de linhas
relacionadas à linha atual, sem agrupar o resultado em
uma única linha de saída como no GROUP BY. Analise
as afirmativas a seguir sobre o uso da cláusula OVER().
I.A função ROW_NUMBER (__)OVER (PARTITION BY departamento ORDER BY salario DESC) atribui um número sequencial único para cada linha dentro de cada departamento, reiniciando a contagem a cada novo departamento, ordenado pelo maior salário.
II.A função RANK(__)difere de DENSE_RANK(__)no tratamento de empates: RANK(__)deixa "buracos" na numeração após um empate (ex: 1, 2, 2, 4), enquanto DENSE_RANK(__)mantém a sequência consecutiva (ex: 1, 2, 2, 3).
III.As funções de janela podem ser utilizadas diretamente na cláusula WHERE para filtrar resultados, como por exemplo WHERE ROW_NUMBER(__)OVER(...) = 1, simplificando consultas de paginação.
Está correto o que se afirma em:
I.A função ROW_NUMBER (__)OVER (PARTITION BY departamento ORDER BY salario DESC) atribui um número sequencial único para cada linha dentro de cada departamento, reiniciando a contagem a cada novo departamento, ordenado pelo maior salário.
II.A função RANK(__)difere de DENSE_RANK(__)no tratamento de empates: RANK(__)deixa "buracos" na numeração após um empate (ex: 1, 2, 2, 4), enquanto DENSE_RANK(__)mantém a sequência consecutiva (ex: 1, 2, 2, 3).
III.As funções de janela podem ser utilizadas diretamente na cláusula WHERE para filtrar resultados, como por exemplo WHERE ROW_NUMBER(__)OVER(...) = 1, simplificando consultas de paginação.
Está correto o que se afirma em: