Sobes.tech
Junior — Middle

Tem experiência no uso de funções de janela ao trabalhar com consultas SQL?

sobes.tech IA

Resposta da IA

Sim, ao trabalhar com consultas SQL, utilizei funções de janela (window functions). Elas permitem realizar cálculos sobre um conjunto de linhas relacionadas com a linha atual, sem agrupar os resultados, o que é útil para análises e consultas complexas.

Principais funções de janela:

  • ROW_NUMBER() — numeração de linhas na janela
  • RANK(), DENSE_RANK() — classificação considerando empates
  • SUM(), AVG(), COUNT() — funções agregadas sobre a janela

Exemplo: obter uma lista de funcionários com seu salário e sua classificação por departamento em ordem decrescente de salário:

SELECT
  employee_id,
  department_id,
  salary,
  ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY salary DESC) AS salary_rank
FROM employees;

Aqui, PARTITION BY divide os dados por departamentos, e ORDER BY define a ordem dentro de cada departamento. As funções de janela permitem fazer consultas analíticas complexas sem perder detalhes.