Как оцениваешь свой уровень знания SQL

«Как оцениваешь свой уровень знания SQL» — вопрос из категории Софт-скиллы, который задают на 33% собеседований Аналитик Данных. Ниже — развёрнутый пример ответа, который можно адаптировать под свой опыт.

Ответ

Мой уровень SQL — expert. Умею писать сложные запросы с JOIN, подзапросами, CTE, оконными функциями. Работал с оптимизацией запросов, индексами, хранимыми процедурами. Пример сложного запроса с оконными функциями:

WITH ranked_sales AS (
    SELECT 
        product_id,
        sale_date,
        amount,
        RANK() OVER (PARTITION BY product_id ORDER BY amount DESC) as sales_rank
    FROM sales
)
SELECT * 
FROM ranked_sales
WHERE sales_rank <= 3;

Также имею опыт работы с аналитическими функциями (LAG, LEAD, ROLLUP), динамическим SQL, рекурсивными запросами. Знаю особенности диалектов в PostgreSQL, MySQL, MS SQL.