Sobes.tech
Back to questions
Middle+
3

Писали ли оконные функции и CTE?

Companies where asked
МВидео/эльдорадо

Answer from AI

sobes.tech AI

Да, оконные функции (window functions) и CTE (Common Table Expressions) активно использую при работе с базами данных, особенно в сложных запросах для аналитики и агрегаций.

Оконные функции позволяют выполнять вычисления по набору строк, связанных с текущей строкой, без группировки данных, например, для подсчёта скользящих сумм, ранжирования или вычисления кумулятивных значений.

CTE упрощают чтение и поддержку сложных запросов, позволяя объявлять временные именованные наборы данных, которые можно использовать внутри основного запроса.

Пример оконной функции в SQL:

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

Пример CTE:

WITH DepartmentSalaries AS (
    SELECT department_id, AVG(salary) as avg_salary
    FROM employees
    GROUP BY department_id
)
SELECT e.employee_id, e.salary, d.avg_salary
FROM employees e
JOIN DepartmentSalaries d ON e.department_id = d.department_id;