Ответ
Имею 5+ лет опыта работы с SQL в различных СУБД (PostgreSQL, MySQL, Oracle). Пишу сложные запросы с JOIN, подзапросами, CTE, оконными функциями. Оптимизировал запросы, сократив время выполнения с 10+ секунд до миллисекунд через индексы и рефакторинг.
Пример сложного запроса с оконной функцией:
WITH user_stats AS (
SELECT
user_id,
SUM(amount) OVER (PARTITION BY user_id ORDER BY date) AS running_total,
RANK() OVER (ORDER BY SUM(amount) DESC) AS user_rank
FROM transactions
WHERE date BETWEEN '2023-01-01' AND '2023-12-31'
GROUP BY user_id, amount, date
)
SELECT * FROM user_stats WHERE user_rank <= 10;
Также работал с NoSQL (MongoDB), писал агрегации и map-reduce. Владею навыками анализа execution plan для оптимизации запросов.