Мини-курс
SQL с нуля
8 коротких уроков на одной учебной базе книжного магазина: от первого SELECT до отчётов по нескольким таблицам. Научитесь сами получать ответы из данных.
Коротко об SQL
SQL — язык запросов к базам данных. На нём спрашивают у базы: «сколько заказов пришло в июне», «какие книги дороже средней», «кто из клиентов ещё ничего не купил». Запрос читается почти как английская фраза, а ответ приходит таблицей. SQL нужен аналитикам, тестировщикам, разработчикам, маркетологам и продакт-менеджерам — всем, кто работает с данными приложения, а не только программистам.
Зарплаты сильно зависят от города и опыта — смотрите актуальные вакансии: вакансии со знанием SQL на hh.ru.
Зачем учить SQL
Почти у любого приложения есть база данных: в ней лежат пользователи, заказы, платежи, товары. Когда нужно понять, что происходит, — сколько продали, кто перестал покупать, где ошибка в данных, — ответ получают запросом на SQL.
Весь курс построен на одной учебной базе — маленьком книжном магазине с клиентами, книгами и заказами. Вы создадите её в первом уроке за одну минуту и дальше будете задавать ей всё более сложные вопросы.
В каждом уроке — запросы с разбором и результатом, задание с решением и мини-тест.
Кому подойдёт, а кому нет
Скорее подойдёт, если
- Работаете с таблицами и хотите получать отчёты быстрее, чем фильтрами и формулами
- Думаете о профессии аналитика данных или тестировщика
- Видели в вакансиях строчку «знание SQL» и хотите её закрыть
- Хотите понимать, как устроены данные в приложениях и сайтах
Скорее не подойдёт, если
- Ищете оптимизацию запросов, индексы и администрирование баз — курс вводный
- Не работаете с данными и не планируете
- Не готовы писать запросы текстом: кнопок в курсе нет, всё через запросы
Программа: 8 уроков
-
Урок 1из 8 пройдензнаете
Открыть
База данных и первый запрос SELECT
Что такое база данных и СУБД, из чего состоит таблица, зачем нужен первичный ключ, как написать первый запрос SELECT и где тренироваться без установки программ.
15 мин · Дальше: Отбор строк: WHERE, AND, OR, IN, BETWEEN и LIKE -
Урок 2из 8 пройдензнаете
Открыть
Отбор строк: WHERE, AND, OR, IN, BETWEEN и LIKE
Как оставить в результате только нужные строки: условие WHERE, знаки сравнения, несколько условий через AND и OR, скобки, списки IN, диапазоны BETWEEN и поиск по образцу LIKE.
20 мин · Дальше: Сортировка, LIMIT, DISTINCT и вычисления в запросе -
Урок 3из 8 пройдензнаете
Открыть
Сортировка, LIMIT, DISTINCT и вычисления в запросе
Как упорядочить результат через ORDER BY, взять первые строки с LIMIT и OFFSET, убрать повторы с DISTINCT и посчитать новый столбец прямо в запросе с понятным именем через AS.
20 мин · Дальше: Итоги по таблице: COUNT, SUM, AVG и пустые значения NULL -
Урок 4из 8 пройдензнаете
Открыть
Итоги по таблице: COUNT, SUM, AVG и пустые значения NULL
Как посчитать количество строк, сумму, среднее, минимум и максимум, округлить результат через ROUND, что такое NULL, почему его нельзя сравнивать знаком = и как подставить значение через COALESCE.
20 мин · Дальше: Группировка: GROUP BY и HAVING -
Урок 5из 8 пройдензнаете
Открыть
Группировка: GROUP BY и HAVING
Как посчитать итоги по каждой группе — по статусу, жанру, клиенту или месяцу: GROUP BY, отбор групп через HAVING, порядок выполнения запроса и правило столбцов в SELECT.
25 мин · Дальше: Соединение таблиц: JOIN и LEFT JOIN -
Урок 6из 8 пройдензнаете
Открыть
Соединение таблиц: JOIN и LEFT JOIN
Зачем данные хранят в нескольких таблицах, что такое внешний ключ, как соединить таблицы через JOIN и LEFT JOIN, найти записи без пары и не размножить строки при соединении.
25 мин · Дальше: Подзапросы и CASE: запрос в запросе и условия в столбцах -
Урок 7из 8 пройдензнаете
Открыть
Подзапросы и CASE: запрос в запросе и условия в столбцах
Как использовать результат одного запроса внутри другого: подзапрос в условии, в списке IN и вместо таблицы. Как через CASE разложить строки по категориям и посчитать условные итоги.
20 мин · Дальше: Изменение данных: INSERT, UPDATE, DELETE и транзакции -
Урок 8из 8 пройдензнаете
Открыть
Изменение данных: INSERT, UPDATE, DELETE и транзакции
Как добавлять, изменять и удалять строки, почему UPDATE и DELETE без WHERE опасны, как проверить себя через SELECT и откатить ошибку транзакцией. И что учить после вводного курса.
25 мин
Итоговый тест
16 вопросов по всем урокам, около 12 минут. В конце — разбор, какие темы повторить, и вывод по вашим ответам: стоит ли идти в SQL и аналитику дальше.
Что дальше
Если тема зацепила, продолжить можно так.
Частые вопросы
Нужно ли уметь программировать?
Нет. SQL проще языков программирования: запрос описывает, что нужно получить, а не как это сделать. Достаточно уверенно работать с компьютером и не бояться таблиц.
Что установить для практики?
Ничего. Все запросы курса работают в онлайн-песочнице sqliteonline.com, прямо в браузере. В первом уроке есть готовый скрипт, который создаёт учебные таблицы.
Какую базу данных изучаем?
Основу SQL, общую для всех баз: PostgreSQL, MySQL, SQLite, Microsoft SQL Server. Примеры выполняются в SQLite, а где базы отличаются, это сказано прямо в уроке.
Чем SQL отличается от Excel?
В Excel данные видно и правят руками, а SQL получает ответ запросом из таблиц любого размера — хоть из миллионов строк. Excel удобен для небольших файлов и оформления, SQL — для работы с базой приложения. Если таблицы пока в новинку, начните с курса «Excel и Google Таблицы».
Сколько времени займёт курс?
Около трёх часов: 8 уроков по 15–25 минут и итоговый тест. Удобный темп — урок в день, с запросами в песочнице.
Это бесплатно?
Да, и без регистрации. Сайт зарабатывает на партнёрских программах онлайн-школ — как это устроено, рассказываем на странице «О проекте».