SQL
- 1. Введение в SQL: что это, история появления, назначение и области применения
- 2. Реляционные базы данных: понятие таблиц, строк, столбцов и отношений
- 3. Установка СУБД: PostgreSQL, MySQL, SQLite, SQL Server, Oracle — выбор и настройка
- 4. Первое подключение к БД: использование командной строки, клиентов (DBeaver, HeidiSQL, pgAdmin)
- 5. Основы синтаксиса SQL: комментарии, ключевые слова, регистр
- 6. Выборка данных: SELECT, FROM, выборка всех полей (*)
- 7. Фильтрация данных: WHERE, операторы сравнения (=, <>, >, <, >=, <=)
- 8. Логические операторы: AND, OR, NOT
- 9. Приоритеты операций: скобки для управления порядком условий
- 10. Оператор IN: проверка значения на принадлежность списку
- 11. Оператор BETWEEN: фильтрация по диапазону значений
- 12. Оператор LIKE и шаблоны: поиск по маске (_ и %)
- 13. Оператор IS NULL: работа с пустыми значениями
- 14. Алиасы: AS для столбцов и таблиц
- 15. Упорядочивание результатов: ORDER BY, ASC и DESC
- 16. Ограничение выборки: LIMIT, OFFSET
- 17. Агрегатные функции: COUNT, SUM, AVG, MIN, MAX
- 18. Группировка данных: GROUP BY, группировка по нескольким полям
- 19. Фильтрация групп: HAVING
- 20. Создание таблиц: CREATE TABLE, определение столбцов и типов данных
- 21. Типы данных SQL: INT, VARCHAR, DATE, DATETIME, BOOLEAN и др.
- 22. Ограничения (Constraints): PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL, DEFAULT
- 23. Добавление данных: INSERT INTO — вставка одной или нескольких записей
- 24. Обновление данных: UPDATE — изменение существующих записей
- 25. Удаление данных: DELETE FROM — удаление по условию
- 26. TRUNCATE vs DELETE: разница между очисткой таблиц
- 27. Каскадное удаление и обновление: ON DELETE CASCADE / SET NULL
- 28. Изменение структуры таблиц: ALTER TABLE, ADD COLUMN, DROP COLUMN, RENAME
- 29. Внутренние соединения: INNER JOIN — связь по общему полю
- 30. Левое внешнее соединение: LEFT JOIN — получение всех записей из левой таблицы
- 31. Правое внешнее соединение: RIGHT JOIN — все записи из правой таблицы
- 32. Полное внешнее соединение: FULL JOIN — объединение всех строк
- 33. Самосоединения: JOIN таблицы самой с собой
- 34. Соединения через USING и ON: разница и применение
- 35. Многотабличные запросы: JOIN нескольких таблиц одновременно
- 36. Подзапросы: вложенные запросы в WHERE, FROM, SELECT
- 37. Подзапросы с операторами сравнения: =, >, < и др.
- 38. Подзапросы с IN, EXISTS, ANY, ALL
- 39. Подзапросы в FROM: временные таблицы в запросе
- 40. UNION и UNION ALL: объединение результатов нескольких запросов
- 41. INTERSECT: пересечение множеств
- 42. EXCEPT (MINUS): разность множеств
- 43. CASE выражения: условная логика внутри SQL-запроса
- 44. COALESCE: замена NULL на заданное значение
- 45. NULLIF: возврат NULL при совпадении двух значений
- 46. IF и IIF: условные выражения в разных СУБД
- 47. Работа с датами и временем: DATE, TIME, TIMESTAMP, INTERVAL
- 48. Функции для работы с датами: NOW(), CURRENT_DATE, DATE_ADD, EXTRACT и др.
- 49. Форматирование дат: TO_CHAR, DATE_FORMAT и аналоги
- 50. Работа со строками: CONCAT, SUBSTRING, LENGTH, UPPER, LOWER и др.
- 51. Числовые функции: ROUND, FLOOR, CEIL, ABS, MOD, POWER и др.
- 52. Агрегация с оконными функциями: OVER(), PARTITION BY, ORDER BY
- 53. ROW_NUMBER, RANK, DENSE_RANK: нумерация строк в группах
- 54. NTILE: разбиение на группы/доли
- 55. LEAD и LAG: доступ к следующей/предыдущей строке
- 56. FIRST_VALUE и LAST_VALUE: получение первого/последнего значения в окне
- 57. Создание представлений: CREATE VIEW — сохранённый запрос как виртуальная таблица
- 58. Обновляемые представления: ограничения и возможности
- 59. Материализованные представления: хранение результатов запроса
- 60. Индексы: создание, типы, влияние на производительность
- 61. Уникальные индексы: UNIQUE INDEX
- 62. Составные индексы: индекс по нескольким столбцам
- 63. Оптимизация запросов: EXPLAIN и EXPLAIN ANALYZE
- 64. План выполнения запроса: чтение и анализ вывода EXPLAIN
- 65. Поддержка транзакций: BEGIN, COMMIT, ROLLBACK
- 66. Уровни изоляции транзакций: READ UNCOMMITTED, READ COMMITTED и др.
- 67. Блокировки: SHARE, UPDATE, FOR UPDATE
- 68. Savepoint: контрольные точки внутри транзакции
- 69. Привилегии и права доступа: GRANT и REVOKE
- 70. Роли и пользователи: управление доступом в БД
- 71. Схемы: организация объектов в пространства имён
- 72. Хранимые процедуры: CREATE PROCEDURE, EXECUTE
- 73. Функции в SQL: CREATE FUNCTION, RETURN
- 74. Входные и выходные параметры процедур и функций
- 75. Триггеры: BEFORE, AFTER, INSTEAD OF — автоматические действия
- 76. Использование курсоров: обработка набора данных построчно
- 77. JSON в SQL: работа с JSON-типами в PostgreSQL, MySQL и других СУБД
- 78. XML в SQL: поддержка XML-данных и их обработка
- 79. Работа с массивами и другими сложными типами
- 80. Нормализация баз данных: 1НФ, 2НФ, 3НФ, Бойса–Кодда
- 81. Антинормализация: когда и зачем её использовать
- 82. ER-диаграммы: проектирование моделей данных
- 83. Связи один-к-одному, один-ко-многим, многие-ко-многим
- 84. Создание связей "многие ко многим" через промежуточную таблицу
- 85. Работа с большими данными: особенности SQL в big data системах
- 86. OLTP и OLAP: различия между транзакционными и аналитическими системами
- 87. Data Warehousing: роль SQL в хранилищах данных
- 88. ETL-процессы: извлечение, преобразование и загрузка данных
- 89. Работа с партициями: горизонтальное разделение больших таблиц
- 90. Индексированные представления и материализация
- 91. Резервное копирование и восстановление: BACKUP DATABASE, RESTORE
- 92. Импорт и экспорт данных: COPY, LOAD DATA INFILE, IMPORT/EXPORT
- 93. Работа с CSV, JSON, XML: загрузка и выгрузка данных
- 94. Подключение к БД из кода: ODBC, JDBC, SQLAlchemy, ORM
- 95. SQL Injection: уязвимости и защита (prepared statements, параметризация)
- 96. Оконные функции в реальных задачах: ранжирование, агрегация, сравнение
- 97. Рекурсивные CTE: WITH RECURSIVE — работа с иерархическими данными
- 98. Оператор PIVOT и его аналоги: сворачивание данных в таблицу
- 99. Отладка SQL-запросов: логирование, тестирование, трассировка
- 100. Производительность: оптимизация медленных запросов, индексы, ресурсы
- 101. SQL в популярных BI-инструментах: Power BI, Tableau, Metabase
- 102. SQL для аналитики: метрики, KPI, срезы и фильтры
- 103. Встроенные функции и пользовательские функции (UDF)
- 104. Sequence и Identity: автоинкрементные поля
- 105. Работа с геоданными: PostGIS, MySQL Spatial, Geography и Geometry
- 106. Full-text search: поиск по текстовым полям
- 107. Работа с событиями и расписаниями: Event Scheduler, Jobs
- 108. Виртуальные таблицы и Common Table Expressions (CTE)
- 109. Работа с версионностью данных: Temporal Tables