suchkov.tech

Роадмап SQL

От основ до оптимизации — что учить и в каком порядке.

0 из 31 тем0%

Запросы данных (DQL)

JOIN

INNER, LEFT, RIGHT, FULL, CROSS — объединение таблиц.

GROUP BY и агрегатные функции

COUNT, SUM, AVG, MIN, MAX. HAVING.

Подзапросы

Скалярные, табличные, коррелированные.

EXISTS, IN, UNION

Проверка существования, объединение результатов.

CASE

Условная логика в запросах.

CTE (WITH)

Общие табличные выражения, рекурсия.

Оконные функции

ROW_NUMBER, RANK, LEAD, LAG, PARTITION BY.

Определение данных (DDL)

ALTER TABLE

Изменение структуры таблиц.

Constraints

PRIMARY KEY, FOREIGN KEY, UNIQUE, CHECK, NOT NULL.

Views

Представления, материализованные представления.

Типы данных

Числовые типы

INTEGER, BIGINT, NUMERIC, SERIAL.

Строковые типы

VARCHAR, TEXT, CHAR.

Дата и время

DATE, TIMESTAMP, INTERVAL, часовые пояса.

JSON и массивы

JSONB, операторы ->, ->>, массивы.

Функции и операторы

Строковые функции

CONCAT, SUBSTRING, TRIM, POSITION, REGEXP.

Функции даты и времени

NOW, EXTRACT, DATE_TRUNC, AGE.

Математические функции

ROUND, CEIL, FLOOR, ABS, RANDOM.

Приведение типов

CAST, ::, неявное приведение.

Транзакции и конкурентный доступ

ACID

Atomicity, Consistency, Isolation, Durability.

Уровни изоляции

READ COMMITTED, REPEATABLE READ, SERIALIZABLE.

Блокировки

Row-level locks, дедлоки, MVCC.

Индексы и производительность

B-Tree индексы

Основной тип, когда помогает.

GIN и другие типы

Полнотекстовый поиск, JSONB.

EXPLAIN ANALYZE

Чтение плана выполнения.

Оптимизация запросов

Переписывание, покрывающие индексы.

Все темы — в курсе SQL и PostgreSQL

200+ упражнений с автопроверкой. Первые уроки бесплатно.

Начать на Stepik →