SQLLab

Блог об SQL

Разборы, уроки и советы — от основ до продвинутых техник

14 статей по теме Продвинутый уровень

PostgreSQLАналитикаПродвинутый уровень

Time series анализ в PostgreSQL: временные ряды и тренды

Анализ временных рядов в PostgreSQL: скользящее среднее, заполнение пропусков, generate_series, lag/lead, сезонность, аномалии. Практические примеры.

24 марта 2026 г.·6 мин чтения
PostgreSQLПроизводительностьПродвинутый уровень

Партиционирование таблиц в PostgreSQL: RANGE, LIST, HASH

Партиционирование PostgreSQL: RANGE по дате, LIST по категории, HASH по ID. Partition pruning, индексы, ATTACH/DETACH, автоматическое создание партиций.

24 марта 2026 г.·5 мин чтения
PostgreSQLSQLПродвинутый уровень

LATERAL JOIN в PostgreSQL: продвинутые запросы с зависимыми подзапросами

LATERAL JOIN в PostgreSQL: синтаксис, отличие от обычного JOIN, TOP-N на группу, unnest, generate_series. Когда и зачем использовать LATERAL.

24 марта 2026 г.·5 мин чтения
PostgreSQLАрхитектураПродвинутый уровень

Multi-tenancy в PostgreSQL: паттерны изоляции данных

Три подхода к мультитенантности в PostgreSQL: отдельные БД, схемы на тенанта, общие таблицы с tenant_id. Сравнение, RLS, производительность.

24 марта 2026 г.·5 мин чтения
АналитикаФинансыПродвинутый уровень

SQL для финансового анализа: P&L, когорты, unit-экономика

SQL-запросы для финансового анализа: P&L отчёт, MRR/ARR, CAC payback, когортная выручка, unit-экономика. Практические примеры для финансовых аналитиков.

23 марта 2026 г.·6 мин чтения
PostgreSQLОптимизацияПродвинутый уровень

Generated columns в PostgreSQL: вычисляемые столбцы

Generated (вычисляемые) столбцы в PostgreSQL: STORED vs виртуальные, синтаксис, ограничения, индексы. Когда использовать вместо триггеров и функциональных индексов.

23 марта 2026 г.·5 мин чтения
СобеседованиеПродвинутый уровеньЗадачи

Сложные SQL-задачи с собеседований: разбор с решениями

Разбор сложных SQL-задач с реальных собеседований: island and gaps, consecutive days, sessionization, median without function, recursive fibonacci.

21 марта 2026 г.·5 мин чтения
Data EngineeringПродвинутый уровеньPostgreSQL

SQL для дата-инженера: паттерны и техники 2026

SQL-паттерны для дата-инженеров: партиционирование запросов, оконные функции для ETL, обработка поздних данных, идемпотентные пайплайны, Data Vault.

21 марта 2026 г.·5 мин чтения
PostgreSQLРасширенияПродвинутый уровень

Популярные расширения PostgreSQL: pg_trgm, uuid-ossp, hstore и другие

Обзор ключевых расширений PostgreSQL: pg_trgm для нечёткого поиска, uuid-ossp, hstore, pg_stat_statements, pgcrypto, ltree, tablefunc. Когда и как использовать.

20 марта 2026 г.·5 мин чтения
PostgreSQLPL/pgSQLПродвинутый уровень

Триггеры в PostgreSQL: создание, виды и практические примеры

Как создавать триггеры в PostgreSQL: BEFORE/AFTER, ROW/STATEMENT, триггерные функции на PL/pgSQL, аудит изменений, updated_at, мягкое удаление.

19 марта 2026 г.·5 мин чтения
Оконные функцииPostgreSQLПродвинутый уровень

Фреймы оконных функций SQL: ROWS, RANGE и GROUPS

Полный разбор фреймов в оконных функциях SQL: ROWS vs RANGE vs GROUPS, UNBOUNDED PRECEDING, CURRENT ROW, EXCLUDE, примеры скользящих агрегатов.

19 марта 2026 г.·5 мин чтения
PostgreSQLТипы данныхПродвинутый уровень

Массивы в PostgreSQL: хранение, запросы и функции

Как работать с массивами в PostgreSQL: создание, ANY/ALL, unnest, array_agg, GIN-индекс, поиск по элементам, сравнение с JSONB и нормализацией.

19 марта 2026 г.·5 мин чтения
PostgreSQLPL/pgSQLПродвинутый уровень

Функции и хранимые процедуры в PostgreSQL: PL/pgSQL с нуля

Создание функций и процедур в PostgreSQL на PL/pgSQL: параметры, возвращаемые типы, условия, циклы, обработка ошибок. Когда использовать функции в SQL.

18 марта 2026 г.·5 мин чтения
CTEPostgreSQLПродвинутый уровень

Рекурсивные CTE в PostgreSQL: иерархии, деревья и графы

Как использовать рекурсивные CTE (WITH RECURSIVE) в PostgreSQL: обход дерева организации, иерархические данные, граф маршрутов, поиск циклов.

16 марта 2026 г.·5 мин чтения