Data Engineering

SQL avançado para Data Engineering

Window functions, CTEs recursivas, consultas analíticas, otimização, EXPLAIN ANALYZE, indexação, particionamento

20 perguntas de entrevista·
Mid-Level
1

Qual window function atribui um número sequencial único a cada linha dentro de uma partição?

Resposta

ROW_NUMBER() atribui um número sequencial único a cada linha dentro de uma partição, começando em 1. Diferente de RANK() e DENSE_RANK() que podem atribuir o mesmo número a valores iguais, ROW_NUMBER() sempre garante números únicos, mesmo para valores idênticos na cláusula ORDER BY.

2

Qual é a principal diferença entre RANK() e DENSE_RANK()?

Resposta

RANK() deixa lacunas na numeração após valores empatados. Por exemplo, se duas linhas estão classificadas como 1, a próxima será 3. DENSE_RANK() não deixa lacunas: após duas linhas classificadas como 1, a próxima será 2. Essa distinção é importante para análises de ranking onde lacunas podem distorcer as estatísticas.

3

Como calcular uma soma cumulativa (running total) com uma window function?

Resposta

SUM() OVER com ORDER BY e sem frame explícito usa por padrão ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW, que calcula a soma de todas as linhas precedentes até a linha atual inclusive. Esse é o comportamento padrão para criar totais cumulativos em análises de séries temporais ou sequenciais.

4

Qual é o papel da cláusula PARTITION BY em uma window function?

5

Qual função permite acessar o valor da linha anterior em uma window function?

+17 perguntas de entrevista

Domine Data Engineering para sua proxima entrevista

Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.

Comece gratis