26 октября 2026 · 2 минуты чтения

Как проверить SQL, который написал агент

Агент пишет SQL быстро и уверенно. Запрос выполняется, таблица с цифрами появляется — и в этом главная ловушка: неверный SQL почти никогда не падает с ошибкой. Он просто возвращает другие числа.

Вот пять мест, где стоит остановиться и перечитать запрос.

1. JOIN, который размножил строки

Если к заказам присоединить таблицу с несколькими строками на заказ — например, позиции или платежи, — каждый заказ повторится столько раз, сколько у него строк. SUM по такой таблице посчитает выручку в два-три раза больше настоящей. Проверка простая: посчитайте строки до соединения и после.

2. LEFT JOIN, который стал обычным

LEFT JOIN оставляет строки без пары. Но стоит добавить в WHERE условие на правую таблицу — и строки без пары исчезнут, будто соединение обычное. Условия на присоединённую таблицу обычно должны стоять в ON.

3. NULL, который выпал из подсчёта

COUNT(column) не считает пустые значения, AVG их пропускает, а WHERE status != 'paid' не вернёт строки, где статус пустой. Спросите себя: что в этой колонке значит пустота и должна ли она попасть в результат?

4. Группировка не по тому полю

Отчёт по дням, сгруппированный по полной дате со временем, даст строку на каждую секунду. Отчёт по клиентам, сгруппированный по имени, склеит двух разных Ивановых. Группируйте по ключам, а подписи добавляйте после.

5. Изменение без транзакции и без WHERE

UPDATE или DELETE, который агент предлагает «быстро поправить», сначала запустите как SELECT с тем же условием и посмотрите, сколько строк он заденет. Изменение данных — в транзакции, изменение схемы — миграцией, а не руками в проде.

Привычка, которая ловит почти всё

Перед тем как поверить отчёту, сверьте его с чем-то, что знаете наверняка: число заказов за вчера, выручку за прошлый месяц из бухгалтерии, количество клиентов в админке. Если сходится на известном — можно смотреть на неизвестное.

Всё это — от JOIN и NULL до транзакций, индексов и безопасной работы агента с базой — разбираем на курсе «Основы SQL»: запросы запускаются прямо в уроке, на учебной базе.

Курсы по теме

У каждого курса есть бесплатная часть: оставьте почту и начните сразу.

Начните учиться сегодня

Все курсы за 1 500 ₽ в месяц. Доступ откроется сразу после оплаты, отменить можно в любой момент.