SQL почти не встречается как отдельная профессия, зато требуется почти везде. Вакансий с ним в названии по стране единицы, а в требованиях он стоит у стажёра на Java, у начинающего разработчика на PHP, у питониста с Django, у программиста 1С и у стажёра на .NET. Поэтому курс по базам данных берут обычно не вместо языка, а вместе с ним. Занятия по теме проходят онлайн.
Что входит в программы
Базовый курс строится вокруг реляционной модели: проектирование базы по требованиям, таблицы, связи, индексы, типы данных, затем сам язык запросов от простых выборок до вложенных запросов и операторов изменения данных. Систему для практики выбирает школа, и знания переносятся: синтаксис у разных систем расходится в деталях, а мышление таблицами и связями одно на всех.
Второй уровень составляют курсы под конкретную платформу. Работа с Oracle SQL и встроенным языком PL/SQL рассчитана на тех, кто собирается разрабатывать именно под эту систему, новичку там делать нечего. В вакансиях рядом с MySQL постоянно встречается PostgreSQL, у которого каждую крупную версию поддерживают пять лет. У администраторов баз 1С своя специализация: оптимизация MS SQL Server под учётную систему, чтение планов запросов, мониторинг нагрузки.
Кому это нужно
- Разработчикам серверной части: без запросов к базе серверный код не существует. Языки собраны в разделе Разработка.
- Программистам 1С: там свой язык запросов, но реляционная логика та же, а за конфигурацией стоит настоящая СУБД. Подробнее в теме 1С: программирование.
- Тем, кто отвечает в компании за отчётность и устал ждать выгрузку от ИТ-отдела.
Почему вакансий мало, а навык спрашивают все
Работодатель редко нанимает человека только на запросы. Он нанимает разработчика, аналитика или администратора, у которого SQL входит в набор инструментов наравне с Git. Отсюда практический вывод: курс по базам данных стоит планировать как дополнение к языку или к своей нынешней роли, а не как самостоятельный вход в профессию. В требованиях его почти всегда указывают в одной строке с чем-то ещё: с Python и Django, с Java и Spring, с конфигурациями 1С.
Как выбрать курс
Документ по теме встречается разный: где сертификат об обучении, где свидетельство о повышении квалификации. В требованиях вакансий не фигурирует ни то, ни другое, так что смотреть стоит на содержание программы.
- Дают ли доступ к учебной базе с реальным объёмом данных, а не к трём таблицам из примера.
- Сколько запросов вы напишете руками и проверяет ли их преподаватель.
- Есть ли проектирование базы с нуля, а не только чтение готовой схемы.
- Разбирают ли индексы и производительность: именно об это спотыкаются на практике.
- Под какую систему курс: учебный MySQL, Oracle с PL/SQL и MS SQL под 1С расходятся и по задачам, и по вакансиям.
Главное достоинство SQL в том, что он почти не устаревает: запрос, написанный на первом занятии, останется рабочим и когда в проекте сменится очередной фреймворк. Осваивать его проще всего параллельно с языком, например с Python.