Claude хорошо пишет SQL: от простых выборок до сложных запросов с оконными функциями. Но он не видит вашу базу и может ошибиться в названии поля или логике соединения. Разберём, как получать правильные запросы и не навредить данным.
Что дать модели
- СУБД: PostgreSQL, MySQL, ClickHouse, MS SQL — синтаксис различается.
- Структура таблиц: названия полей и типы. Удобнее всего — вывод
CREATE TABLEили описание схемы. - Связи: какие поля связывают таблицы.
- Что нужно получить — простыми словами и с примером результата.
- Особенности данных: есть ли NULL, дубли, удалённые записи с флагом.
Шаблон запроса
PostgreSQL. Таблицы: orders(id, user_id, created_at, amount, status), users(id, city, registered_at). Нужна выручка по городам за сентябрь 2026, только заказы со статусом ‘paid’. Отсортируй по выручке по убыванию. Объясни запрос построчно.
Просьба объяснить запрос помогает заметить логические ошибки.
Безопасный порядок работы
- Получить запрос от Claude.
- Прочитать его и понять, что он делает.
- Запустить на тестовой базе или с
LIMIT. - Проверить результат на известных данных: совпадает ли итог с отчётом?
- Только потом использовать в работе.
Типичные ошибки модели
- выдуманные названия полей, если схема не дана;
- дубли строк из-за неправильного
JOIN; - потеря записей с NULL в условиях
WHERE; - неправильная граница дат:
<= '2026-09-30'вместо< '2026-10-01'для поля с временем; - синтаксис другой СУБД.
Чего никогда не делать
- Не запускайте
UPDATE,DELETEиDROPот Claude на рабочей базе без проверки и резервной копии. - Не вставляйте в чат реальные данные клиентов — достаточно структуры.
- Не давайте модели прямой доступ на запись к рабочей базе.
Полезные запросы
- «Объясни, почему этот запрос работает медленно, и предложи индексы».
- «Перепиши запрос без подзапросов, через CTE».
- «Найди ошибку: запрос возвращает больше строк, чем ожидалось».
- «Преобразуй этот запрос из MySQL в PostgreSQL».
Частые вопросы
Можно ли анализировать выгрузку без базы?
Да, загрузите CSV. Подробнее — в статье Claude для Excel и CSV.
Как встроить генерацию SQL в свою программу?
Через API. Начните со статьи Claude API: первый запрос на Python.
Как проверять код от Claude в целом?
См. статью Claude для code review.
