Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Указание нескольких источников, соединения, псевдонимы




Из

Выбрать

Выбрать

Константы. НазваниеОрганизации,

Константы. ЮридическийАдрес

После обязательного ключевого слова «Выбрать» следует описание полей выборки. Описание полей разделяются запятыми. После последнего описанного поля запятая не ставится.

3.29. Указание источников в запросе

Рассмотрим следующий запрос: Выбрать

НазваниеОрганизации, ЮридическийАдрес

Из

Константы

Источник запроса (под источником запроса обычно понимается таблица, реальная или виртуальная) указывается после ключевого слова «Из». В общем случае источников может быть несколько. Описание источников разделяется запятыми, после последнего источника запятая не ставится.

Следующий запрос показывает содержимое всех полей в таблице констант

*

Константы

Исходя из назначения констант, таблица «Константы» всегда содержит одну строку.

Таблица справочников Каждый справочник представлен таблицей, обладающей следующим набором полей:  
Справочник. <Имя>  
Поле Тип  
Код Число, Строка  
Наименование Строка  
Представление Строка  
Пометка удаления Булево  
Предопределенный Булево  
ЭтоГруппа Булево  
Родитель СправочникСсылка.<Имя>  
Владелец СправочникСсылка.<ИмяВ>  
Ссылка СправочникСсылка.<Имя>  
<Реквизиты> Тип реквизита  
<Табличные части> РезультатЗапроса  
Для просмотра состава полей справочника «Физические лица» можно воспользоваться следующим запросом:  
Выбрать * Из Справочник. ФизическиеЛица  
Выбрать * Из Справочник. ФизическиеЛица. ТрудоваяДеятельность
Указание вложенной таблицы как источника, конструкции «Различные», Первые N. В качестве примера получения данных из вложенной таблицы (табличной части справочника) можно рассмотреть следующий запрос:  
             

Зададимся целью получить перечень единиц измерения, используемых при описании номенклатурных позиций.

После ключевого слова «Выбрать» можно указывать дополнительную конструкцию «Первые N». В результат выполнения запроса войдут только первые N записей.

Если указать «Различные», то результат запроса не будет содержать повторяющихся (одинаковых по значениям всех полей выборки) записей.

Практикум № 10 ______________________________:_______

Напишите текст запроса, выполнение которого привело бы к получению перечня номенклатуры с основными единицами измерения, базовыми единицами измерения и коэффициентами основных единиц измерения (при указании в качестве источника запроса одной таблицы, для «доступа» к полям другой (связанной) таблицы можно использовать конструкцию «ИмяПоля. ИмяПоля»).

3.30. Фильтрация результатов запроса

Для фильтрации (указания условия отбора) используется структура, определяемая ключевым словом «Где».

Как пример рассмотрим следующие запросы:

Выбрать * ИзСправочник. Номенклатура ГдеСправочник. Номенклатура. ЭтоГруппа  
Выбрать Различные ОснЕдиницаИзмерения Из Справочник. Номенклатура  
Выбрать Первые 4 ОснЕдиницаИзмерения Из Споавочник. Номенклаттоа  
Выбрать ОснЕдиницаИзмерения ИзСправочник. Номенклатура
Выбрать * Из Справочник. Номенклатура Где Не Справочник. Номенклатура. ЭтоГруппа  
В данных примерах знак равно (в условии) не обязателен, так как поле «ЭтоГруппа» содержит значения типа «Булево». Выбрать Наименование Из Справочник. Номенклатура Где Справочник. Номенклатура. Код=1 В условиях (это не обязательно может быть конструкция «Где») помимо обычных операций сравнения могут использоваться «В», «Между И», «Подобно», «Есть».  
       

Во всех предыдущих примерах источник был один. Но иногда могут возникать ситуации, когда данные находятся в разных таблицах, а должны попасть в результат выполнения одного запроса. Язык запросов предоставляет возможность указывать более чем один источник.

Выбрать

Номен. Наименование,

ЕдИзм. Наименование,

ЕдИзм. Коэффициент

Из

Справочник. Номенклатура Как Номен,

Справочник. ЕдиницыИзмерения Как ЕдИзм

Результат подобного запроса состоит из всех возможных комбинаций записей обеих таблиц. Такой результат мало кого устроит, но так будет всегда, если не указывать способ связи таблиц. Связывать таблицы можно с помощью конструкции языка запросов «Где» (как показано в следующем примере).
Выбрать Номен. Наименование, ЕдИзм. Наименование, ЕдИзм. Коэффициент Из Справочник. Номенклатура Как Номен, Справочник. ЕдиницыИзмерения Как ЕдИзм Где Номен. ОснЕдиницаИзмерения. Код=ЕдИзм. Код  

Хочется отметить, что, во-первых, данный пример является абстрактным. В реальной жизни (в общем случае) чем меньше источников вы указываете в запросе, тем лучше. Во-вторых, условие в данном примере построено не эффективно. Если указать условие следующим образом:

Номен. ОснЕдиницайзмерения=ЕдИзм. Ссылка

то время выполнения данного запроса снизится почти в два раза.

Другим способом указания взаимосвязи таблиц является использование «Соединений». Соединения бывают нескольких видов:

* Внутреннее соединение

* Левое внешнее соединение

* Правое внешнее соединение

* Полное внешнее соединение

В любом случае, когда речь заходит о соединении, существует несколько связанных с этим понятий: Таблица № 1, Таблица № 2, соединение (его вид и условие соединения).

Рассмотрим эти варианты на следующем примере: Есть две таблицы:

Таблица № 1
Номен Номер!
Ручка  
Карандаш  
Вилка  
   
Таблица № 2  
ЕдИзм Номер2  
Шт.    
Гр    
Кг    
банка    
       

Условием соединения будет: Таблица1. Номер1=Таблица2. Номер2

В качестве полей запроса определим две колонки: «Номер» из первой таблицы и «ЕдИзм» из второй таблицы.

В соответствии с условием можно выделить записи, для которых условие выполняется:

Записи, неудовлетворяющие условию соединения:

Теперь рассмотрим варианты соединения:

Внутреннее соединение: в результат выполнения запроса войдут только данные записей из обеих таблиц, для которых выполняется условие соединения т. е.

Ручка Шт.
Ручка банка
Вилка Гр-

Левое внешнее соединение: в результат выполнения запроса войдут данные из записей, для которых выполняется условие соединения и «не вошедшие» из Таблицы № 1. Можно сказать, что в результат запроса войдут все данные из Таблицы № 1, и для тех записей результата запроса, для которых выполнялось условие соединения в полях, куда помещаются данные из таблицы № 2, будут стоять значения, для которых условие не выполняется, будет стоять Null.

Ручка Шт.
Ручка банка
Вилка Гр.
Карандаш Null

Правое внешнее соединение обратно левому.

Ручка Шт.
Ручка банка
Вилка Гр.
Null Кг.

Полное внешнее соединение. В результат запроса войдут как записи, для которых выполнялось условие соединения, так и записи, полученные из «не вошедших» данных из обеих таблиц.

Ручка Шт.
Ручка банка
Вилка Гр,
Карандаш Null
Null Кг.

В любом случае, даже в результате использования полного внешнего соединения не получается полная комбинация значений. (В случае полного соединения добавляются записи, не удовлетворяющие условию, а не все возможные их комбинации).

В качестве примера использования соединений рассмотрим нижеследующий текст запроса:




Поделиться с друзьями:


Дата добавления: 2014-11-29; Просмотров: 531; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.023 сек.