SQLLab

Операторы 1С ↔ SQL

Язык запросов 1С намеренно спроектирован похожим на SQL: большинство ключевых операторов имеют прямые синтаксические аналоги, только на русском языке. Но есть принципиальное отличие — язык запросов 1С поддерживает только выборку данных, как SELECT в SQL. Вставка, изменение и удаление данных всегда идут через объектную модель платформы (методы вроде Записать()), а не через сам язык запросов — в отличие от полноценного SQL, где INSERT/UPDATE/DELETE являются частью языка.

Ниже — таблица соответствия самых частых операторов. Если вы уже писали запросы в 1С, это самый быстрый способ освоить синтаксис обычного SQL.

SQLПояснение
ВЫБРАТЬSELECTСписок полей выборки
ВЫБРАТЬ РАЗРЕШЕННЫЕфильтрация по правам доступа (RLS-подобная)Отбирает только объекты, разрешённые текущему пользователю — решается на уровне приложения или политик БД, не одним SQL-ключевым словом
ИЗFROMУказывает исходную таблицу (метаданные 1С — Справочник, Документ, РегистрСведений и т.д.)
ГДЕWHEREУсловие фильтрации строк
СГРУППИРОВАТЬ ПОGROUP BYГруппировка строк для агрегатных функций
УПОРЯДОЧИТЬ ПОORDER BYСортировка результата
СОЕДИНЕНИЕJOINВнутреннее объединение таблиц по условию
ЛЕВОЕ СОЕДИНЕНИЕLEFT JOINЛевое объединение — сохраняет все строки левой таблицы
ПОONУсловие соединения после СОЕДИНЕНИЕ/ЛЕВОЕ СОЕДИНЕНИЕ
ПОМЕСТИТЬSELECT INTO / временная таблицаСохраняет результат запроса во временную таблицу для дальнейших запросов — ближайший аналог CREATE TEMP TABLE
ИТОГИаналог ROLLUP / подытогиСчитает подытоги по группам прямо в результате выборки
В ИЕРАРХИИрекурсивный CTE (WITH RECURSIVE)Выбирает все элементы иерархического справочника ниже по дереву
ПЕРВЫЕ NLIMIT 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
ЕСТЬ НЕ NULLIS NOT NULLПроверка поля на не-NULL
ЕСТЬ NULLIS NULLПроверка поля на NULL

Скачать шпаргалку в PDF

Та же таблица соответствия — в одном файле, чтобы держать под рукой.

Закрепи знания на практике

Решай реальные задачи с собеседований прямо в браузере — без установки.

Решать задачи →