Основные объекты: Запросы. Часть 1. О запросах в системе 1С
Варфоломеич запросил сто рублей.
Память брата посетитель расценивал
значительно ниже, рублей в тридцать.
Согласились на пятидесяти.
(И. Ильф, Е. Петров. Двенадцать стульев)
Согласно “Википедии”, запрос представляет собой формулирование некоторой информационной необходимости пользователем некоторой базы данных (обычно речь идет о реляционных базах данных, состоящих из ряда взаимосвязанных таблиц). Результатом запроса являются определенные данные, выбранные из базы данных (выборка).
Для составления запроса обычно используется специально разработанный стандартный язык запросов SQL. SQL (англ. Structured Query Language – язык структурированных запросов) – универсальный информационно-логический компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных.
Желающим подробнее узнать о стандарте SQL и работе с ним можно порекомендовать следующую литературу:
- Грабер М. Введение в SQL. - М.: Лори, 2008;
- Моисеенко С. SQL: Задачи и решения: Учебник (http://www.sql-tutorial.ru/ru/content.html);
- Кузнецов С.Д. Введение в стандарты языка баз данных SQL (http://www.citforum.ru/database/sqlbook/index.shtml);
- Кириллов В.В., Громов Г.Ю. Структуризированный язык запросов (SQL): Учебное пособие (http://www.citforum.ru/database/sql_kg/index.shtml).
Многие объекты системы 1С, по существу, представляют собой таблицы общей распределенной базы данных. Поэтому в этой системе запросы являются весьма эффективными средствами обработки данных и применяются достаточно широко в практической работе.
В системе 1С для выполнения запросов используется вариант языка SQL в русифицированном и несколько модифицированном виде (хотя стандартные англоязычные выражения и инструкции также поддерживаются). Ниже приводится сравнительная таблица инструкций языка запросов 1С и стандартного SQL.
Сравнительная таблица языка запросов 1С и стандартного SQL
Назначение |
Инструкции SQL |
Инструкции 1С |
Где используется |
Выборка определенных полей |
SELECT |
ВЫБРАТЬ |
Оператор выборки |
Указание таблиц – источников данных |
FROM |
ИЗ |
Оператор выборки... |
Задание условий отбора |
WHERE |
ГДЕ |
Оператор выборки... |
Группировка по заданным полям (часто с использованием агрегатных функций (SUM, AVG, COUNT, MIN, MAX)) |
GROUP BY |
СГРУППИРОВАТЬ ПО |
Запрос с группировкой |
Агрегатные функции |
SUM |
СУММА |
Запрос с группировкой |
Отбор групп |
HAVING |
ИМЕЮЩИЕ |
Запрос с группировкой |
Сортировка (упорядочивание) результата |
ORDER BY |
УПОРЯДОЧИТЬ ПО |
|
Упорядочивание по иерархии |
– |
В ИЕРАРХИИ |
Запрос с иерархией |
Соединения таблиц, в том числе левые и правые внешние соединения |
INNER JOIN... ON |
ВНУТРЕННЕЕ СОЕДИНЕНИЕ... ПО ЛЕВОЕ СОЕДИНЕНИЕ... ПО ПРАВОЕ СОЕДИНЕНИЕ... ПО ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ... ПО |
Запрос с несколькими таблицами |
Подведение итогов |
– |
ИТОГИ ... ПО
|
Запрос с количественными параметрами |
Объединения нескольких запросов |
UNION |
ОБЪЕДИНИТЬ |
Сложный запрос |
Различные значения |
DISTINCT |
РАЗЛИЧНЫЕ |
|
Операнд операции сравнения |
LIKE |
ПОДОБНО |
Запрос с использованием шаблона |
Практическое использование языка запросов в системе 1С будет более подробно рассмотрено в следующих разделах.