SQL и работа с базами данных
От select до сложных join
Что такое и зачем
SQL — язык запросов к базам данных. Если вы работаете с клиентской базой, заказами, аналитикой или даже выгружаете данные из 1С — SQL ваш лучший друг. Вместо ручного копипаста в Excel вы одной строкой вытаскиваете нужные записи, группируете, считаете суммы и строите сводки. Claude умеет генерировать, проверять и объяснять SQL — как персональный DBA в кармане 🚀
Зачем это фрилансеру или маркетологу? Чтобы за 5 минут сделать выборку «клиенты из Москвы, купившие больше 10 000 ₽ за квартал» или собрать данные для отчёта без программиста. Claude пишет запросы под вашу структуру таблиц и сразу объясняет логику.
Как делать с Claude
Шаг 1. Опишите структуру таблиц простым языком:
У меня две таблицы:
- orders (id, user_id, amount, created_at)
- users (id, name, city, email)
Напиши SQL-запрос: все заказы из Москвы за март 2024, сумма больше 5000 ₽
Шаг 2. Claude вернёт готовый запрос с пояснениями:
SELECT o.id, u.name, o.amount, o.created_at
FROM orders o
JOIN users u ON o.user_id = u.id
WHERE u.city = 'Москва'
AND o.created_at >= '2024-03-01'
AND o.created_at < '2024-04-01'
AND o.amount > 5000;
Шаг 3. Если нужна группировка — уточните:
Теперь группируй по городам и считай среднюю сумму заказа
Claude добавит GROUP BY u.city и AVG(o.amount). Можно запрашивать LEFT JOIN (чтобы показать пользователей без заказов), подзапросы, CASE для условий.
Шаг 4. Попросите проверку или оптимизацию:
Проверь этот запрос на ошибки и предложи индексы:
[ваш SQL]
Claude найдёт опечатки, лишние JOIN, посоветует индексы для ускорения.
Реальный пример
Маркетолог Анна ведёт базу подписчиков Telegram-бота (таблица users: id, username, subscription_date, tariff). Ей нужно найти всех на тарифе «Про», подписавшихся в январе, и экспортировать для рассылки. Раньше она просила программиста, ждала 2 дня. Теперь пишет Claude: «Выбери всех users с tariff = 'Про' и subscription_date в январе 2024». Получает запрос за 10 секунд, копирует в phpMyAdmin, выгружает CSV — готово ✅
Другой кейс: фрилансер Игорь анализирует продажи интернет-магазина (таблицы orders, products, categories). Запросил Claude: «Топ-5 категорий по выручке за квартал, с разбивкой по месяцам». Claude построил запрос с JOIN трёх таблиц, GROUP BY и ORDER BY — Игорь скопировал в отчёт заказчику и сэкономил час работы.
Подводные камни
- Не показывайте реальные данные — опишите структуру словами или замените чувствительные значения на «user123», «example@mail.ru». Claude понимает схему без ваших секретов.
- Проверяйте JOIN-условия — если таблиц много, уточните связь: «orders.user_id = users.id». Claude может додумать, но лучше явно указать.
- Диалект SQL — уточните СУБД (PostgreSQL, MySQL, SQLite). Синтаксис функций (
DATE_TRUNC,STR_TO_DATE) различается. - Большие выборки — если запрос тянет миллионы строк, добавьте LIMIT для теста. Claude может предложить пагинацию или фильтры.
Что забрать с собой
1️⃣ Claude пишет SQL по описанию таблиц — не нужно знать синтаксис наизусть, объясняйте задачу человеческим языком.
2️⃣ JOIN связывает таблицы — INNER JOIN для пересечений, LEFT JOIN чтобы сохранить строки из левой таблицы. Уточняйте логику в промпте.
3️⃣ Итеративно улучшайте запрос — сначала простой SELECT, потом добавляйте фильтры, группировки, сортировку. Claude держит контекст диалога и дорабатывает код.