Операторы 1С ↔ SQL
Язык запросов 1С намеренно спроектирован похожим на SQL: большинство ключевых операторов имеют прямые синтаксические аналоги, только на русском языке. Но есть принципиальное отличие — язык запросов 1С поддерживает только выборку данных, как SELECT в SQL. Вставка, изменение и удаление данных всегда идут через объектную модель платформы (методы вроде Записать()), а не через сам язык запросов — в отличие от полноценного SQL, где INSERT/UPDATE/DELETE являются частью языка.
Ниже — таблица соответствия самых частых операторов. Если вы уже писали запросы в 1С, это самый быстрый способ освоить синтаксис обычного SQL.
| 1С | SQL | Пояснение |
|---|---|---|
| ВЫБРАТЬ | SELECT | Список полей выборки |
| ВЫБРАТЬ РАЗРЕШЕННЫЕ | фильтрация по правам доступа (RLS-подобная) | Отбирает только объекты, разрешённые текущему пользователю — решается на уровне приложения или политик БД, не одним SQL-ключевым словом |
| ИЗ | FROM | Указывает исходную таблицу (метаданные 1С — Справочник, Документ, РегистрСведений и т.д.) |
| ГДЕ | WHERE | Условие фильтрации строк |
| СГРУППИРОВАТЬ ПО | GROUP BY | Группировка строк для агрегатных функций |
| УПОРЯДОЧИТЬ ПО | ORDER BY | Сортировка результата |
| СОЕДИНЕНИЕ | JOIN | Внутреннее объединение таблиц по условию |
| ЛЕВОЕ СОЕДИНЕНИЕ | LEFT JOIN | Левое объединение — сохраняет все строки левой таблицы |
| ПО | ON | Условие соединения после СОЕДИНЕНИЕ/ЛЕВОЕ СОЕДИНЕНИЕ |
| ПОМЕСТИТЬ | SELECT INTO / временная таблица | Сохраняет результат запроса во временную таблицу для дальнейших запросов — ближайший аналог CREATE TEMP TABLE |
| ИТОГИ | аналог ROLLUP / подытоги | Считает подытоги по группам прямо в результате выборки |
| В ИЕРАРХИИ | рекурсивный CTE (WITH RECURSIVE) | Выбирает все элементы иерархического справочника ниже по дереву |
| ПЕРВЫЕ N | LIMIT N / TOP N | Ограничивает число строк результата — позиция отличается по диалектам (TOP сразу после SELECT, LIMIT в конце запроса), авто-перенос не выполняется |
| РАЗЛИЧНЫЕ | DISTINCT | Убирает повторяющиеся строки |
| КАК | AS | Задаёт алиас полю или таблице |
| ОБЪЕДИНИТЬ ВСЕ | UNION ALL | Объединяет результаты двух запросов, включая дубли |
| ОБЪЕДИНИТЬ | UNION | Объединяет результаты двух запросов, убирая дубли |
| И | AND | Логическое И |
| ИЛИ | OR | Логическое ИЛИ |
| НЕ | NOT | Логическое отрицание |
| СУММА | SUM | Сумма значений в группе |
| КОЛИЧЕСТВО | COUNT | Количество строк в группе |
| СРЕДНЕЕ | AVG | Среднее значение в группе |
| МАКСИМУМ | MAX | Максимальное значение в группе |
| МИНИМУМ | MIN | Минимальное значение в группе |
| ИСТИНА | TRUE | Булев литерал «истина» |
| ЛОЖЬ | FALSE | Булев литерал «ложь» |
| ВЫБОР | CASE | Начало условного выражения |
| КОГДА | WHEN | Условие в CASE |
| ТОГДА | THEN | Результат при выполнении условия |
| ИНАЧЕ | ELSE | Значение по умолчанию в CASE |
| КОНЕЦ | END | Конец условного выражения CASE |
| ЕСТЬ НЕ NULL | IS NOT NULL | Проверка поля на не-NULL |
| ЕСТЬ NULL | IS NULL | Проверка поля на NULL |
Скачать шпаргалку в PDF
Та же таблица соответствия — в одном файле, чтобы держать под рукой.
Закрепи знания на практике
Решай реальные задачи с собеседований прямо в браузере — без установки.
Решать задачи →