Хотите зарабатывать больше? Освойте SQL. Это не маркетинговый ход! SQL и PostgreSQL очень востребованы, а работа с ними хорошо оплачивается. Научитесь эффективно использовать SQL и PostgreSQL для выполнения сложных запросов, оптимизации баз данных, а также для решения задач в аналитике, бизнесе и разработке.
- Функции SQL и PL\pgSQL
Введение в функции.Наша первая функция.Скалярные функции.IN, OUT, DEFAULT.Возврат наборов данных.Введение в PL\pgSQL.Возврат и присвоение.Декларация переменных.IF/ELSE.Циклы.RETURN NEXT.Практика. «Функции».Разбор. «Функции».
- Приведение типов данных
Введение в приведение типов данных.Приведение типов данных на практике.
- CTE (Common Table Expressions)
Введение и CTE на практике.Рекурсивный CTE.
- Простые запросы с SELECT
Полная выборка.Выборка и элементарные арифметические операции.DISTINCT.COUNT.Практика. «Простые выборки», №1.Разбор. «Простые выборки», №1.WHERE.AND, OR.BETWEEN.IN & NOT IN.ORDER BY.MIN, MAX, AVG.Практика. «Простые выборки», №2.Разбор. «Простые выборки», №2.LIKE.LIMIT.Check on NULL.GROUP BY.HAVING.UNION, INTERSECT, EXCEPT.Практика. «Группировка, сопоставление, сортировка».Разбор. «Группировка, сопоставление, сортировка».
- Подзапросы
Введение в подзапросы.WHERE EXISTS.Подзапросы с квантификаторами ANY, ALL.Практика. «Подзапросы».Разбор. «Подзапросы».
- Триггеры
Введение в триггеры.Построчные триггеры.Триггеры на утверждения.Практика. «Триггеры».Разбор. «Триггеры».
- Оконные функции
Введение в оконные функции.Оконные функции на практике.Ранжирование.Возврат N-записей.Практика. «Оконные функции».Разбор. «Оконные функции».
- Продвинутая группировка с CUBE и ROLLUP
Введение в группировку.GROUPING SET, ROLLUP, CUBE.Практика. «Продвинутые группировки».Разбор. «Продвинутые группировки».
- Проектирование БД
Введение в процесс проектирования.Базовые рекомендации.Нормальная форма (НФ).
- Массивы
Введение в массивы.Инициализация, срезы.Массивы и операторы.VARIADIC и FOREACH.Практика. «Массивы».Разбор. «Массивы».Практика. «Циклы».Разбор. «Циклы».
- Подзапросы
Введение в подзапросы.WHERE EXISTS.Подзапросы с квантификаторами ANY, ALL.Практика. «Подзапросы».Разбор. «Подзапросы».
- Представления (Views)
Введение в представления.Создание представлений.Обновляемые представления.Опция Check.Практика. Views.Разбор. Views.
- Индексы
Введение в индексы. Немного «кишочков».Методы сканирования.Виды индексов.EXPLAIN, ANALYZE.Построение простого индекса и индекса по двум колонкам.Индексы по выражениям.«Сложный» индекс для поиска по тексту.
- Знакомство с psql
Введение в psql.Знакомство с psql на практике.
- Индексы
Введение в индексы. Немного «кишочков».Методы сканирования.Виды индексов.EXPLAIN, ANALYZE.Построение простого индекса и индекса по двум колонкам.Индексы по выражениям.«Сложный» индекс для поиска по тексту.
- Знакомство с psql
Введение в psql.Знакомство с psql на практике.
- Транзакции
Введение в транзакции.Уровни изоляции.Транзакции на практике.Практика. «Транзакции».Разбор. «Транзакции».
- Простые запросы с SELECT
Полная выборка.Выборка и элементарные арифметические операции.DISTINCT.COUNT.Практика. «Простые выборки», №1.Разбор. «Простые выборки», №1.WHERE.AND, OR.BETWEEN.IN & NOT IN.ORDER BY.MIN, MAX, AVG.Практика. «Простые выборки», №2.Разбор. «Простые выборки», №2.LIKE.LIMIT.Check on NULL.GROUP BY.HAVING.UNION, INTERSECT, EXCEPT.Практика. «Группировка, сопоставление, сортировка».Разбор. «Группировка, сопоставление, сортировка».
- Приведение типов данных
Введение в приведение типов данных.Приведение типов данных на практике.
- Оконные функции
Введение в оконные функции.Оконные функции на практике.Ранжирование.Возврат N-записей.Практика. «Оконные функции».Разбор. «Оконные функции».
- Пользовательские типы
Домены.Композитные типы.Перечисления.Практика. «Пользовательские типы».Разбор. «Пользовательские типы».
- Импорт данных
Импорт csv. Введение.Импортируем csv на практике.
- Безопасность в PostgreSQL
Введение в безопасность.Создаём роли, изымаем права с public.Права на уровне БД и схемы.Права на уровне таблиц.Права на уровне колонок.Права на уровне строк.Изымаем все права и удаляем роли.
- Пользовательские типы
Домены.Композитные типы.Перечисления.Практика. «Пользовательские типы».Разбор. «Пользовательские типы».
- DDL. Управляем БД и таблицами
Управляем таблицами.Практика. DDL, №1.Разбор. DDL, №1.Primary Key.Foreign Key.Check.Default.Sequences.Sequences & Tables.INSERT.UPDATE, DELETE, RETURNING.Практика. DDL, №2.Разбор. DDL, №2.
- Логика с CASE, COALESCE и NULLIF
CASE WHEN.Введение в COALESCE и NULLIF.COALESCE и NULLIF на практике.Практика. CASE, COALESCE, NULLIF.Разбор. CASE, COALESCE, NULLIF.
- DDL. Управляем БД и таблицами
Управляем таблицами.Практика. DDL, №1.Разбор. DDL, №1.Primary Key.Foreign Key.Check.Default.Sequences.Sequences & Tables.INSERT.UPDATE, DELETE, RETURNING.Практика. DDL, №2.Разбор. DDL, №2.
- Представления (Views)
Введение в представления.Создание представлений.Обновляемые представления.Опция Check.Практика. Views.Разбор. Views.
- Соединения (Joins)
Знакомство с соединениями.INNER JOIN.LEFT, RIGHT JOIN.SELF JOIN.USING & NATURAL JOIN.AS (псевдонимы).Практика. Joins.Разбор. Joins.
- Ошибки и их обработка
Введение.RAISE на практике.Практика. «Ошибки и их обработка».Разбор. «Ошибки и их обработка».
- CTE (Common Table Expressions)
Введение и CTE на практике.Рекурсивный CTE.
- Импорт данных
Импорт csv. Введение.Импортируем csv на практике.
- Транзакции
Введение в транзакции.Уровни изоляции.Транзакции на практике.Практика. «Транзакции».Разбор. «Транзакции».
- Массивы
Введение в массивы.Инициализация, срезы.Массивы и операторы.VARIADIC и FOREACH.Практика. «Массивы».Разбор. «Массивы».Практика. «Циклы».Разбор. «Циклы».
- Введение в SQL
Основные концепции.Реляционная модель и SQL.Почему PostgreSQL?Инсталлируем PostgreSQL.Типы данных в PostgreSQL.Создание БД.Создание таблиц.Отношение «один ко многим».Отношение «один к одному».Отношение «многие ко многим».Создаём Northwind.
- Проектирование БД
Введение в процесс проектирования.Базовые рекомендации.Нормальная форма (НФ).
- Логика с CASE, COALESCE и NULLIF
CASE WHEN.Введение в COALESCE и NULLIF.COALESCE и NULLIF на практике.Практика. CASE, COALESCE, NULLIF.Разбор. CASE, COALESCE, NULLIF.
- Безопасность в PostgreSQL
Введение в безопасность.Создаём роли, изымаем права с public.Права на уровне БД и схемы.Права на уровне таблиц.Права на уровне колонок.Права на уровне строк.Изымаем все права и удаляем роли.
- Продвинутая группировка с CUBE и ROLLUP
Введение в группировку.GROUPING SET, ROLLUP, CUBE.Практика. «Продвинутые группировки».Разбор. «Продвинутые группировки».
- Триггеры
Введение в триггеры.Построчные триггеры.Триггеры на утверждения.Практика. «Триггеры».Разбор. «Триггеры».
- Ошибки и их обработка
Введение.RAISE на практике.Практика. «Ошибки и их обработка».Разбор. «Ошибки и их обработка».
- Соединения (Joins)
Знакомство с соединениями.INNER JOIN.LEFT, RIGHT JOIN.SELF JOIN.USING & NATURAL JOIN.AS (псевдонимы).Практика. Joins.Разбор. Joins.
- Введение в SQL
Основные концепции.Реляционная модель и SQL.Почему PostgreSQL?Инсталлируем PostgreSQL.Типы данных в PostgreSQL.Создание БД.Создание таблиц.Отношение «один ко многим».Отношение «один к одному».Отношение «многие ко многим».Создаём Northwind.
- Функции SQL и PL\pgSQL
Введение в функции.Наша первая функция.Скалярные функции.IN, OUT, DEFAULT.Возврат наборов данных.Введение в PL\pgSQL.Возврат и присвоение.Декларация переменных.IF/ELSE.Циклы.RETURN NEXT.Практика. «Функции».Разбор. «Функции».