Prog Academy
RU UA
Данные и аналитика

Что такое SQL?

SQL (Structured Query Language) — язык запросов к базам данных. С его помощью выбирают нужные строки, фильтруют, группируют и соединяют таблицы, а также добавляют, изменяют и удаляют данные.

Запрос описывает результат, а не способ его получения: вы пишете, какие данные нужны, а база сама решает, как их достать быстрее. Базовый набор — SELECT для выборки, WHERE для фильтра, JOIN для соединения таблиц, GROUP BY для агрегации.

SQL — самый переносимый навык в работе с данными: он нужен аналитику, бэкенд-разработчику, тестировщику и продакт-менеджеру. Диалекты PostgreSQL, MySQL и MS SQL различаются в деталях, но основа у них общая.

Где применяется

SQL пишут не только разработчики. Аналитик выгружает им данные для отчёта, тестировщик проверяет, что заказ действительно записался в базу, продакт-менеджер сам считает конверсию, не отвлекая команду, а маркетолог собирает сегмент для рассылки.

В продукте SQL-запросы живут внутри кода бэкенда, в дашбордах Power BI и Looker Studio, в ETL-процессах, которые каждую ночь наполняют хранилище. Поэтому его почти всегда спрашивают на собеседованиях на аналитика и на бэкенд, а в вакансиях он встречается чаще любого конкретного фреймворка.

Пример

SELECT city, COUNT(*) FROM orders WHERE status = 'paid' GROUP BY city — количество оплаченных заказов по городам.

SELECT c.city,
       COUNT(*)        AS orders,
       SUM(o.total)    AS revenue
FROM orders o
JOIN customers c ON c.id = o.customer_id
WHERE o.status = 'paid'
  AND o.created_at >= '2026-09-01'
GROUP BY c.city
HAVING SUM(o.total) > 10000
ORDER BY revenue DESC;
Выручка по городам за месяц: фильтр, соединение таблиц, группировка и сортировка в одном запросе.

Частые вопросы

Сложно ли выучить SQL с нуля?

Это один из самых доступных входов в IT: базовые выборки с фильтром и сортировкой осваиваются за пару вечеров, потому что запрос читается почти как английская фраза. Сложность появляется позже — в соединениях таблиц, подзапросах и оконных функциях.

Чем отличаются PostgreSQL, MySQL и MS SQL?

Это разные системы управления базами, но ядро языка у них общее: выборки, фильтры, соединения и группировки пишутся одинаково. Расходятся детали — работа с датами, строковые функции, синтаксис ограничения строк. Освоив один диалект, второй подхватывают за несколько дней.

В чём разница между JOIN и подзапросом?

JOIN соединяет строки нескольких таблиц в одну выборку по условию. Подзапрос — это отдельный запрос внутри другого, результат которого используется как значение или набор строк. Часто одну задачу решают обоими способами, но JOIN обычно быстрее и читается легче.

Нужен ли SQL, если в проекте используется ORM?

Да. ORM пишет запросы за вас, но именно поэтому нужно уметь их читать: типичные проблемы с производительностью начинаются с невидимых запросов, которые библиотека отправляет в цикле. Разобрать план выполнения без знания SQL невозможно.

Подробная статья в блоге →

Связанные термины