Курс SQL переписан заново — восемнадцать уроков и настоящая база в браузере
Курс SQL переписан целиком: восемнадцать уроков, домашняя работа к каждому, контрольная и три подачи — для аналитика, разработчика и тестировщика.
Курс SQL переписан целиком — не дополнен, а написан заново, с первой строки. Адрес остался прежним, а внутри другое устройство: восемнадцать уроков, у каждого своя домашняя работа, в конце уровня контрольная и именной сертификат.
Запросы выполняются по-настоящему
Главное в курсе — учебная база из шести связанных таблиц: покупатели, товары, заказы и строки заказов, отзывы, сотрудники. Вы пишете SELECT, он действительно запускается прямо в браузере, и вы видите таблицу-результат: не «верно» или «неверно», а те самые строки, которые вернул ваш запрос.
Ставить и настраивать ничего не нужно, а синтаксис стандартный: навык переносится на PostgreSQL, MySQL и остальные базы.
Первая половина — язык, вторая — ловушки
Первые двенадцать уроков ведут обычной дорогой: таблицы и ключи, SELECT и отбор, сортировка и ограничение, агрегаты, группировки, HAVING, соединения и подзапросы. К середине курса человек уже пишет отчёт.
А дальше начинается то, из-за чего отчёты врут. Размножение строк соединением: сумма выросла втрое, и ошибки при этом нет. NULL: три состояния вместо двух, и строка молча выпадает из условия. Границы периода: BETWEEN с датой со временем теряет последний день целиком.
Последний урок — про то, что запрос показывает не то
Это отдельная тема, и в учебниках её почти нет. Запрос выполнился, ошибки нет, а число неправдоподобное. Урок разбирает метод, а не список причин: запрос раздевают до FROM и одевают обратно по одной части, считая строки после каждой, — и ломается он ровно на той, что его сломала. Дальше каталог с двух сторон: почему строк больше, чем должно быть, и почему меньше.
Три подачи — под вашу работу
У курса три подачи, и человек выбирает свою. Аналитику — про выручку, сверки и «почему в отчёте не то число». Разработчику — чем запрос в обработчике отличается от запроса в консоли, где он становится дорогим и как не уронить базу одним UPDATE. Тестировщику — как готовить данные под проверку, искать расхождения и какие граничные случаи обязаны быть в наборе.
Теория одна по содержанию, примеры разные: это не три курса и не урезанные версии.
Менять данные тоже учим — и осторожно
Есть урок про INSERT, UPDATE и DELETE, и половина его — про последствия: забытое условие берёт всю таблицу, и ошибки при этом не будет. Там же разбирается порядок безопасной правки — сначала тот же отбор через SELECT, потом правка тем же условием, а связанные правки в транзакции. Задания решаются по-честному: команда выполняется, и следом видно, во что превратились данные.
Домашняя работа и контрольная
В конце каждого урока — домашняя работа на отдельной странице. Задания собираются сервером из большого банка, а числа в расчётных у каждого свои. Порог — 70 %, пересдать можно через сутки и уже другим набором; засчитывается лучший результат.
В конце уровня контрольная: двадцать два задания со всего курса, час времени. За сданную выдаётся сертификат с кодом, который может проверить кто угодно.
Что дальше
Восемь расследований остались на месте: дело вместо упражнения — история, улики и база, к которой вы задаёте вопросы. Тренажёр тоже работает и берёт задачи из уже пройденных уроков.
Это первый уровень. Дальше по плану второй: оконные функции, индексы и планы выполнения, представления — то, что начинает быть важным, когда данных становится много. Курс бесплатный, и начать можно прямо сейчас — первый урок читается примерно за полчаса.