Оператор ВЫБРАТЬ
Оператор ВЫБРАТЬ возвращает стр оки из базы данных и позволяет делать выборку одной или нескольких строк или столбцов из одной или нескольких таблиц. Например:
ВЫБРАТЬ
ОбработанныеСообщения.КодУчастника КАК КодУчастника,
ОбработанныеСообщения.ИмяУзла КАК ИмяУзла
ИЗ
ОбработанныеСообщения КАК ОбработанныеСообще ния
ГДЕ
ОбработанныеСообщения.ИмяПроцесса == "Обмен"
УПОРЯДОЧИТЬ ПО
ОбработанныеСообщения.ИмяУзла
Предложения внутри оператора ВЫБРАТЬ
Оператор ВЫБРАТЬ всегда содержит как минимум одну часть объединения и может содержать следующие предложения:
часть-объединения
ОБЪЕДИНИТЬ [ВСЕ | РАЗЛИЧНЫЕ]
...
часть-объединения
[УПОРЯДОЧИТЬ ПО
элемент-упорядочивания,
...,
элемент-упорядочивания]
[ПОЛУЧИТЬ количество-получаемых-записей]
[СО СМЕЩЕНИЕМ количество-пропускаемых-записей]
[ИНДЕКСИРОВАТЬ ПО
элемент-индексирования,
...,
элемент-индексирования
ДОПОЛНИТЕЛЬНО ПО
дополнительное-поле,
...,
дополнительное-поле]
ИНДЕКСИРОВАТЬ ПО
ИНДЕКСИРОВАТЬ ПО используется только в запросах при создании временных таблиц.
часть-объединения
часть-объединения обязательно содержит предложение ВЫБРАТЬ и кроме этого может содержать следующие предложения:
ВЫБРАТЬ [РАЗРЕШЕННЫЕ | ПОЛНОСТЬЮ] [РАЗЛИЧНЫЕ] [ПЕРВЫЕ количество-выбираемых-записей]
элемент-списка-выборки,
...,
элемент-списка-выборки
[ПОМЕСТИТЬ | ПОРОДИТЬ | ЗАПОЛНИТЬ
имя-конструкции]
[ИЗ
элемент-списка-из,
...,
элемент-списка-из]
[ГДЕ
условие-выборки-записей]
[СГРУППИРОВАТЬ ПО
элемент-группировки,
...,
элемент-группировки]
[ИМЕЮЩИЕ
условие-группировки-записей]
РАЗРЕШЕННЫЕ
С помощью ключевого слова РАЗРЕШЕННЫЕ вы можете выбрать только те записи, на которые у текущего пользователя есть права.
При использовании ключевого слова РАЗРЕШЕННЫЕ следует учитывать следующее:
- его использование оказывает влияние на работу только в том случае, если на таблицы наложены ограничения доступа к данным;
- права доступа на саму таблицу не учитываются. Например, если на таблицу отсутствует право
ЧТЕНИЕ, то запрос с использованием такой таблицы будет выполнен с ошибкой вне зависимости от использования в запросе ключевого словаРАЗРЕШЕННЫЕ.
ПОЛНОСТЬЮ
Если указано ключевое слово ПОЛНОСТЬЮ, то при попытке получить поля с данными из таблиц, доступа к которым у пользователя нет, будет выдано исключение. Так, в примере ниже доступа к некоторым записям таблицы Поставщики у пользователя нет, и результатом запроса будет ошибка «Недостаточно прав для выполнения операции "ЧТЕНИЕ" со строкой таблицы "Поставщики"»:
ВЫБРАТЬ ПОЛНОСТЬЮ
Поставщики.Код
РАЗЛИЧНЫЕ
С помощью ключевого слова РАЗЛИЧНЫЕ вы можете указать, что в результат не должны попадать повторяющиеся строки.
ПЕРВЫЕ
Конструкция ПЕРВЫЕ количество-выбираемых-записей позволяет задать предельное количество строк в результате запроса. Будут отобраны самые первые строки в соответствии с правилами упорядочивания результатов запроса.
ПЕРВЫЕ можно указывать только в следующих случаях:
- если в запросе есть всего одна часть-объединения;
- если в запросе не указано ПОЛУЧИТЬ.
ПОМЕСТИТЬ, ПОРОДИТЬ, ЗАПОЛНИТЬ
Предложения ПОМЕСТИТЬ, ПОРОДИТЬ и ЗАПОЛНИТЬ являются взаимоисключающими: можно использовать только одно из них или ни одного:
ПОМЕСТИТЬ
имя-временной-таблицы
// или
ПОРОДИТЬ
имя-типа-структуры
// или
ЗАПОЛНИТЬ
имя-типа
ИЗ
В предложении ИЗ указываются таблицы, содержимое которых обрабатывается в запросе.
ГДЕ
Предложение ГДЕ позволяет отфильтровать результат запроса. В результат попадают только те записи, для которых указанное условие оказывается истинным.
СГРУППИРОВАТЬ ПО
С помощью предложения СГРУППИРОВАТЬ ПО вы можете описать порядок группировки результатов запроса.