SQL (Structured Query Language) — язык запросов, с помощью которого получают, добавляют, изменяют и удаляют данные в реляционных базах данных. В запросе описывают, какие данные нужны, а не как их искать: план выполнения база строит сама. На SQL работают аналитики, разработчики и администраторы баз в PostgreSQL, MySQL, ClickHouse и других СУБД.
Главное за 30 секунд
SQL нужен, чтобы работать с данными, которые лежат в базе. Компания хранит заказы, клиентов, платежи и события на сайте в таблицах, и SQL позволяет получить из них ровно то, что нужно: например, выручку по регионам за прошлый месяц или список клиентов, которые не покупали полгода.
С помощью SQL решают четыре типа задач:
Аналитики пишут запросы на SQL каждый день: почти любая задача начинается с выгрузки данных из хранилища. Финансовый аналитик собирает выручку и расходы по подразделениям, продуктовый считает конверсию и удержание пользователей, маркетинговый сравнивает каналы привлечения. SQL требуют в большинстве вакансий аналитиков данных и бизнес-аналитиков, подробнее — в статье кто такой аналитик данных.
Команды SQL делятся на четыре группы. Аналитику в первую очередь нужны команды выборки данных, остальные пригодятся реже.
| Группа | Команды | Для чего |
|---|---|---|
| DML — работа с данными | SELECT, INSERT, UPDATE, DELETE | Выбрать, добавить, изменить и удалить строки |
| DDL — структура базы | CREATE, ALTER, DROP | Создать, изменить и удалить таблицы и другие объекты |
| DCL — доступ | GRANT, REVOKE | Выдать и отозвать права пользователей |
| TCL — транзакции | COMMIT, ROLLBACK | Подтвердить или отменить группу изменений |
Внутри SELECT аналитик чаще всего использует такие конструкции:
| Конструкция | Что делает |
|---|---|
| WHERE | Фильтрует строки по условию, например только оплаченные заказы |
| GROUP BY | Группирует строки, чтобы посчитать сумму, среднее или количество по группе |
| HAVING | Фильтрует уже посчитанные группы |
| ORDER BY | Сортирует результат |
| JOIN | Соединяет таблицы по общему полю — разбор видов в статье JOIN в SQL |
| LIMIT | Ограничивает число строк в результате |
Запрос ниже считает выручку по каждому городу за сентябрь 2026 года по оплаченным заказам и выводит пять городов с наибольшей выручкой:
SELECT city,
COUNT(*) AS orders,
SUM(amount) AS revenue
FROM orders
WHERE status = 'paid'
AND order_date >= '2026-09-01'
AND order_date < '2026-10-01'
GROUP BY city
ORDER BY revenue DESC
LIMIT 5; Порядок чтения запроса: база берёт таблицу orders (FROM), оставляет оплаченные заказы за сентябрь (WHERE), группирует их по городу (GROUP BY), считает число заказов и сумму, сортирует по выручке (ORDER BY) и возвращает первые пять строк.
Базовый синтаксис описан в стандарте ISO/IEC 9075, но каждая СУБД добавляет свои функции. Запрос из примера выше сработает почти везде, а функции для дат, строк и оконные функции могут называться по-разному.
| СУБД | Где встречается |
|---|---|
| PostgreSQL | Продуктовые и банковские системы, аналитические хранилища |
| MySQL | Сайты и веб-приложения |
| Microsoft SQL Server (T-SQL) | Корпоративные системы на стеке Microsoft |
| Oracle (PL/SQL) | Крупные банки и промышленные компании |
| ClickHouse | Хранилища для быстрой аналитики больших объёмов событий |
| SQLite | Встроенная база в приложениях, удобна для обучения |
Освойте SQL на задачах аналитика
Курс «Обработка и анализ данных в SQL» от SF Education: 6 практических заданий, 2 бизнес-кейса и 53+ часа практики за 1 месяц. По итогам — удостоверение о повышении квалификации.
Начинать лучше с выборки данных: этого достаточно, чтобы через пару недель решать реальные задачи.
Практиковаться можно на учебной базе в PostgreSQL или SQLite. Полезнее всего решать задачи на данных, похожих на рабочие: заказы, клиенты, платежи. Пошаговый план для старта — в статье SQL для начинающих.
SQL — декларативный язык запросов, а не язык программирования общего назначения. В запросе вы описываете, какой результат нужен, а способ его получения выбирает база данных. Написать на чистом SQL приложение нельзя, но процедурные расширения вроде PL/SQL и T-SQL добавляют циклы и условия.
SQL — это язык, а MySQL — конкретная система управления базами данных, которая этот язык понимает. Так же устроены PostgreSQL, Microsoft SQL Server и Oracle: язык общий, а возможности и отдельные функции у каждой СУБД свои.
Базовые запросы с фильтрами, группировкой и JOIN осваивают за 2–4 недели регулярной практики. Чтобы уверенно писать сложные запросы с подзапросами и оконными функциями, обычно нужно ещё один-два месяца задач на реальных данных.
Да, SQL нужен почти каждому аналитику: данные компании хранятся в базах, и выгружать их приходится запросами. SQL требуют в большинстве вакансий аналитиков данных, бизнес- и продуктовых аналитиков, а финансовым аналитикам он упрощает работу с большими выгрузками.
Сначала SQL. Он проще в освоении, сразу даёт результат на рабочих данных и нужен в большинстве вакансий аналитиков. Python пригодится следом, когда понадобится автоматизировать расчёты, чистить сложные выгрузки и строить модели.
Удобнее всего установить PostgreSQL или SQLite и загрузить учебную базу с заказами и клиентами. Можно также решать задачи на онлайн-тренажёрах: они сразу проверяют результат запроса. Главное — писать запросы каждый день и разбирать ошибки.
Пишите запросы к рабочим данным уже через месяц
На курсе «Обработка и анализ данных в SQL» вы пройдёте путь от первого SELECT до соединения таблиц и аналитических запросов на реальных бизнес-кейсах.