Как писать комментарии в SQL?
Накопилось несколько больших запросов с кучей JOIN-ов, через неделю сам не помню, что они делают. Хочу добавить пояснения прямо в коде. Как в SQL пишутся комментарии — есть ли однострочные и многострочные, как в обычных языках? И не сломают ли они запрос?
2 ответа
Да, комментарии в SQL есть, и они бывают двух видов — как в большинстве языков. На выполнение запроса они никак не влияют: парсер их просто игнорирует.
Однострочный комментарий — два дефиса --, всё до конца строки игнорируется:
SELECT id, name
FROM users -- берём только активных
WHERE active = true;
Многострочный комментарий — /* ... */, может занимать несколько строк:
/*
Отчёт по заказам за месяц.
Автор: Иван, обновлено 2026-06.
Осторожно: тяжёлый запрос, не гонять на проде в часы пик.
*/
SELECT customer_id, SUM(total)
FROM orders
GROUP BY customer_id;
Эти два синтаксиса работают во всех основных СУБД — PostgreSQL, MySQL, SQLite, SQL Server.
Где комментарии особенно полезны:
- пояснить зачем нужен хитрый
JOINили подзапрос (не что делает строка, а почему она тут); - временно «выключить» кусок запроса, не удаляя его;
- оставить заметку о производительности или о граблях.
Пара нюансов, о которых стоит знать:
- В MySQL есть третий вид однострочного комментария —
#до конца строки. Это нестандартно, в других СУБД не сработает, лучше держитесь--. - В некоторых консольных клиентах и инструментах миграций строки вида
/*! ... */(MySQL) или--+трактуются как директивы-подсказки оптимизатору, а не как обычный комментарий. На практике редко мешает, но если увидите странное поведение — вот вероятная причина.
Итог: для коротких пометок — --, для блоков и шапок запросов — /* ... */. Комментируйте «почему», а не «что» — будущий вы скажет спасибо.
Маленькое предупреждение про --: после двух дефисов обязательно ставьте пробел, особенно если рядом идёт что-то вроде --5. Некоторые парсеры это переварят, но привычка -- текст надёжнее и читается лучше.
И не оставляйте закомментированный «мёртвый» код надолго — через месяц никто не вспомнит, рабочий он был или сломанный. Для этого есть система контроля версий, а комментарии лучше держать содержательными.