Excel vs SQL: когда таблиц уже не хватает и пора учить SQL

Почти каждый аналитик начинает с Excel, и это нормально: быстро посмотреть данные, прикинуть на коленке, показать таблицу заказчику. Проблема в том, что Excel незаметно упирается в потолок — и обычно ровно тогда, когда данных становится по-настоящему много. Лист вмещает максимум 1 048 576 строк (это жёсткий предел формата, 2 в степени 20), файл начинает тормозить задолго до этого, а любую ручную операцию приходится повторять руками каждый месяц. SQL решает другую задачу: он живёт там, где данные уже лежат — в базе, и достаёт из них ровно нужное запросом, который можно сохранить и повторять. Это не спор кто лучше, а понимание, где заканчивается зона Excel и начинается зона SQL. Разберём границу конкретно.

Сравнительная таблица

Параметр Excel SQL
Максимум строкExcel: 1 048 576 строк на лист (2^20, жёсткий предел формата)SQL: практически без ограничений — миллиарды строк в таблице
Поведение на объёмеExcel: тормозит и ест память задолго до лимита строкSQL: движок оптимизирован под большие таблицы, индексы, партиции
ПовторяемостьExcel: ручные шаги надо повторять каждый раз (или писать макросы)SQL: запрос сохраняется и запускается снова с тем же результатом
Воспроизводимость и аудитExcel: легко случайно сдвинуть ячейку, трудно отследить что менялосьSQL: логика в тексте запроса, видно точно как получен результат
Совместная работаExcel: конфликты версий файла, копии по почтеSQL: все обращаются к одному источнику данных в базе
Джойны и связи таблицExcel: ВПР/ПОИСКПОЗ, хрупко и медленно на больших объёмахSQL: JOIN — родная операция, быстро и надёжно
Порог входаExcel: интуитивно, виден результат сразу, не надо программироватьSQL: нужно выучить синтаксис, зато потом кратно быстрее
Визуализация на местеExcel: графики и сводные прямо в файлеSQL: сам не рисует — данные отдаются в BI или Python

Когда что использовать

Когда Excel

  • Данных немного (тысячи, максимум десятки тысяч строк) и они помещаются в один файл
  • Разовая задача: быстро посмотреть, прикинуть, свести — повторять не нужно
  • Нужно показать результат нетехническому заказчику в привычном виде таблицы
  • Быстрый прототип расчёта или модели, где важна наглядность формул в ячейках
  • Нет доступа к базе данных, а данные прислали файлом

Когда SQL

  • Строк больше сотен тысяч или файл начал заметно тормозить и падать
  • Один и тот же отчёт нужно собирать регулярно — запрос сохраняется и повторяется
  • Данные лежат в базе (PostgreSQL, ClickHouse, Greenplum) — забирать их запросом надёжнее выгрузок
  • Нужно соединять несколько таблиц: JOIN в SQL быстрее и надёжнее ВПР
  • Важна воспроизводимость: коллега должен получить тот же результат из той же логики

FAQ

Сколько строк реально держит Excel?

Формальный предел листа — 1 048 576 строк и 16 384 столбца (числа 2^20 и 2^14 заложены в формат Office Open XML, начиная с Excel 2007, и одинаковы во всех современных версиях). Но упереться в него вы вряд ли успеете: файл начинает тормозить, есть память и вылетать намного раньше — обычно уже на сотнях тысяч строк с формулами. Практически это сигнал, что пора в базу и SQL.

Заменяет ли SQL Excel полностью?

Нет, они про разное. SQL достаёт и обрабатывает данные там, где они хранятся — в базе, и делает это на любом объёме воспроизводимо. Excel остаётся удобным для быстрого просмотра, прикидок и показа таблиц заказчику. Типичный рабочий поток аналитика: SQL достаёт нужный срез из базы, дальше он уходит в Excel, BI-инструмент или Python для визуализации и презентации.

С чего аналитику начать переход с Excel на SQL?

С базовых операций, у которых есть прямой аналог в Excel: SELECT с фильтром WHERE — это автофильтр, GROUP BY — сводная таблица, JOIN — ВПР между таблицами, ORDER BY — сортировка. Дальше идут агрегаты (SUM, COUNT, AVG), оконные функции для нарастающих итогов и ранжирования. Освоив это, вы закроете большинство задач, которые раньше делали руками в таблицах.

Почему JOIN в SQL лучше ВПР в Excel?

ВПР ищет значение строка за строкой и на больших таблицах резко замедляется, а ещё легко ломается при сдвиге столбцов или дубликатах ключа. JOIN — это родная операция SQL: движок соединяет таблицы по ключу оптимизированным способом, работает на миллионах строк и явно описывает, какие таблицы и по какому полю связаны. Логика видна в тексте запроса и не зависит от расположения ячеек.

Нужен ли ещё Excel, если я выучил SQL?

Да. Даже сильные аналитики постоянно пользуются таблицами: показать итог заказчику, быстро прикинуть сценарий, поделиться небольшим срезом. SQL и Excel дополняют друг друга — SQL берёт на себя объём, связи и повторяемость, Excel остаётся инструментом последней мили для наглядности. Учить SQL стоит не вместо Excel, а в дополнение к нему.

Источники

Практика по теме → Полный гайд в блоге →

Другие сравнения

Postgresql vs Clickhouse · Pandas vs Polars · Tableau vs Powerbi Datalens Superset · SQL vs Pandas · Dbt vs Airflow · Redshift vs Bigquery vs Snowflake · Airflow vs Dagster vs Prefect · Greenplum vs Clickhouse · Postgresql vs Mysql · Sqlite vs Postgresql · Spark vs Pandas · Power Bi vs Excel · Clickhouse vs Druid · Python vs R