Содержание курса
1. Введение
6 уроков
96
37
5м
0
Открытый
1.1
Обзор курса
↗
9
6
-
0
Открытый
1.2
Базы данных и SQL
↗
38
11
4м 3с
0
Открытый
1.3
Установка PostgreSQL
↗
23
8
0м 30с
0
Открытый
1.4
Клиенты PostgreSQL и учебная база данных
↗
15
5
1м 51с
0
Открытый
1.5
Первый SQL-запрос: псевдонимы и комментарии
↗
5
4
-
0
Открытый
1.6
Стиль SQL: отступы, запятые и читаемость
↗
6
3
-
0
2. Реляционная модель данных
4 урока
13
10
0м
0
Закрытый
2.1
Зачем реляционная модель: дублирование и аномалии
↗
4
3
-
0
Закрытый
2.2
Таблица, строка, столбец, первичный ключ, внешний ключ
↗
3
3
-
0
Закрытый
2.3
Нормальные формы (1НФ–3НФ) — суть без формализма
↗
3
2
-
0
Закрытый
2.4
Схема учебной базы: почему данные разложены именно так
↗
3
2
-
0
3. Типы данных в PostgreSQL
6 уроков
19
18
0м
0
Закрытый
3.1
Числа: INTEGER, BIGINT, NUMERIC, REAL — как выбрать
↗
4
3
-
0
Закрытый
3.2
Строки: VARCHAR, TEXT, CHAR — различия и ловушки
↗
3
3
-
0
Закрытый
3.3
Дата и время: DATE, TIMESTAMP, TIMESTAMPTZ, INTERVAL
↗
3
3
-
0
Закрытый
3.4
Булев тип, NULL — семантика трёхзначной логики
↗
3
3
-
0
Закрытый
3.5
Обзор: UUID, JSONB, массивы, перечисления (ENUM)
↗
3
3
-
0
Закрытый
3.6
Преобразование типов: CAST
↗
3
3
-
0
4. Базовый SELECT
10 уроков
37
18
0м
0
Открытый
4.1
SELECT ... FROM — выборка столбцов, псевдонимы AS
↗
7
2
-
0
Открытый
4.2
WHERE — простые условия, операторы сравнения
↗
7
2
-
0
Закрытый
4.3
AND, OR, NOT — составные условия, приоритет, скобки
↗
2
2
-
0
Закрытый
4.4
LIKE, IN, BETWEEN — сокращения для типовых условий
↗
2
2
-
0
Закрытый
4.5
NULL в условиях: IS NULL, IS NOT NULL, COALESCE
↗
2
2
-
0
Открытый
4.6
ORDER BY, LIMIT, OFFSET
↗
9
2
-
0
Закрытый
4.7
Строковые функции: LENGTH, UPPER/LOWER, TRIM, CONCAT
↗
2
2
-
0
Закрытый
4.8
Числовые функции: ROUND, CEIL, FLOOR, ABS, MOD, CAST
↗
2
1
-
0
Закрытый
4.9
Функции дат и времени: NOW, DATE_TRUNC, DATE_PART, AGE
↗
2
2
-
0
Закрытый
4.10
CASE WHEN — условная логика внутри запроса
↗
2
1
-
0
5. Агрегация
5 уроков
7
5
0м
0
Закрытый
5.1
COUNT, SUM, AVG, MIN, MAX
↗
1
1
-
0
Закрытый
5.2
GROUP BY — группировка, смысл агрегации
↗
1
1
-
0
Закрытый
5.3
HAVING — фильтрация после группировки
↗
2
1
-
0
Закрытый
5.4
DISTINCT и DISTINCT ON
↗
1
1
-
0
Закрытый
5.5
ROLLUP, CUBE, GROUPING SETS — итоги нескольких уровней
↗
2
1
-
0
6. Объединение таблиц (JOIN)
5 уроков
5
5
0м
0
Закрытый
6.1
INNER JOIN — только совпадающие строки
↗
1
1
-
0
Закрытый
6.2
LEFT/RIGHT JOIN — сохранение всех строк одной стороны
↗
1
1
-
0
Закрытый
6.3
FULL OUTER JOIN, CROSS JOIN
↗
1
1
-
0
Закрытый
6.4
Самосоединение (self-join) — иерархии и цепочки
↗
1
1
-
0
Закрытый
6.5
UNION, INTERSECT, EXCEPT — объединение результатов
↗
1
1
-
0
7. Подзапросы
4 урока
5
4
0м
0
Закрытый
7.1
Скалярный подзапрос в SELECT и WHERE
↗
2
1
-
0
Закрытый
7.2
Подзапрос в FROM (derived table)
↗
1
1
-
0
Закрытый
7.3
EXISTS / NOT EXISTS
↗
1
1
-
0
Закрытый
7.4
ANY, ALL
↗
1
1
-
0
8. CTE (Common Table Expressions)
2 урока
2
2
0м
0
Закрытый
8.1
Синтаксис WITH, зачем нужны CTE
↗
1
1
-
0
Закрытый
8.2
Несколько CTE в одном запросе, цепочки
↗
1
1
-
0
9. Оконные функции
4 урока
4
4
0м
0
Закрытый
9.1
Концепция окна: OVER(), отличие от GROUP BY
↗
1
1
-
0
Закрытый
9.2
PARTITION BY и ORDER BY внутри окна
↗
1
1
-
0
Закрытый
9.3
Ранжирование: ROW_NUMBER, RANK, DENSE_RANK
↗
1
1
-
0
Закрытый
9.4
Агрегаты как оконные функции: нарастающий итог
↗
1
1
-
0
10. Практические задачи: топ-N и сводные таблицы
3 урока
3
1
0м
0
Закрытый
10.1
Топ-N по группам
↗
1
0
-
0
Закрытый
10.2
Дедупликация строк
↗
1
0
-
0
Закрытый
10.3
Сводные таблицы (CASE WHEN как пивот)
↗
1
1
-
0