Данный курс – о реляционных базах данных и языке запросов к базам данных SQL. Ориентирован в большей части на аналитиков и людей, кому нужно уметь извлекать «сырые» данные для дальнейшего их использования (моделирования, визуализации). Для прохождения курса не требуется какая-либо специальная подготовка по базам данных и SQL. Курс – «с нуля». Вам необходимо быть обычным уверенным пользователем компьютера. Понадобится также логическое и абстрактное мышление.
Работаем с файлами запросов: сохранение и открытие Региональные настройки. COLLATE
"Горячие клавиши", IntelliSense ("всплывающая" подсказка) Инструкция SELECT: базовая выборка данных из таблицы базы данных DISTINCT: отбираем только уникальные строки
Агрегатные функции: получаем итоговые данные по таблице
COUNT(*): а сколько строк в таблице?
Значение NULL и как с ним поступают агрегатные функции
Псевдонимы столбцов и AS: даем свои названия столбцам
Добавляем вычисляемые столбцы в итоговую выборку
ORDER BY: упорядочиваем строки
Вложенная сортировка выборки: сортируем по нескольким столбцам
Определяем порядок сортировки. ASC, DESC
Значение NULL и как с ним поступают агрегатные функции
Псевдонимы столбцов и AS: даем свои названия столбцам
Добавляем вычисляемые столбцы в итоговую выборку
ORDER BY: упорядочиваем строки
Вложенная сортировка выборки: сортируем по нескольким столбцам
Определяем порядок сортировки. ASC, DESC
WHERE: накладываем условия на отбор строк
Операции сравнения: простые и составные
Комбинируем условия: AND, OR, BETWEEN…AND...
IN - только то, что есть в списке
LIKE: задание условий по текстовому шаблону, символы подстановки
Операции отрицания: NOT и другие
IS NULL, IS NOT NULL: только те, где есть данные или наоборот
TOP и TOP…PERCENT: ограничиваем количество выводимых строк
OFFSET … FETCH: смещаемся вниз и отбираем только строки …
GROUP BY: группируем строки и вычисляем итоги для групп строк
HAVING: накладываем условия отбора на итоговые строки по группам
Немного экзотики: WITH ROLLUP, WITH CUBE и GROUPING SET
OVER: помещаем итоги по группам в каждую строку
Чем нехороша одна большая таблица?
Нормализация: разбиваем одну большую на много маленьких таблиц
Реляционная база данных: немного теории, без которой дальше никак
Первичные и внешние ключи, связи и типы связей между таблицами
А как это выглядит у нас? Исследование нашей учебной базы данных
Расширяем возможности: добавляем в запрос столбцы из других таблиц
JOINы: разбираемся детально и приобретаем устойчивое понимание
Типы соединений, внутреннее и внешние соединения
Практические кейсы с INNER JOIN, LEFT JOIN, RIGHT JOIN и FULL JOIN
Подзапросы и когда они нужны
Подзапрос как источник данных для столбца в SELECT
Подзапрос как таблица-источник в FROM
Подзапрос в условии WHERE или HAVING
Подзапрос в WHERE или HAVING плюс IN() или EXISTS
Неявное соединение таблиц
Добавляем в запрос строки из других таблиц. Понимание операций над множествами
Практические кейсы с UNION, UNION ALL, INTERSECT и EXCEPT
Экспорт результатов запроса
Excel: Подключение к БД SQL Server с помощью классического инструмента
Power Query для Excel и Power BI (direct queries, конвертация кода “M” в SQL)
Power Pivot в Excel: подключение к БД SQL Server
Кейс-1. Какие модели каких поставщиков закупались / не закупались когда-либо?
Кейс-2. Особенности использования "оконных" функций
Кейс-3. Какие клиенты еще не купили, а какие сделали премиум покупки?