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

Рассмотрим порядок выполнения многотабличного запроса на примере запроса, объединяющего данные из двух различных таблиц (см. Рис. 4.3). Допустим, что требуется вывести список всех заказов, включая номер и стоимость заказа, фамилию и имя клиента. Перечисленные данные содержатся в следующих таблицах:

– Номер (ID_ORDER) и Стоимость (PRICE) заказа содержатся в таблице ZAKAZY;

– Имя клиента (COMPANY) и лимит кредита (LIMIT_CREDIT) содержатся в таблице CLIENTY .

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

1. Сначала построим результирующую таблицу, содержащую четыре, перечисленные выше колонки (ID_ORDER, COMPANY, PRICE, LIMIT_CREDIT).

2. Найдите в таблице ZAKAZY Номер и Стоимость первого заказа (первой записи) и перепишите полученные значения в поля ID_ORDER и PRICE результирующей таблицы.

3. Запомните Номер клиента (ID_CLN) для первой записи таблицы ZAKAZY.

4. Перейдите к таблице CLIENTY и в столбце ID_CLN найдите значение, соответствующее запомненному значению поля ID_CLN для первой записи таблицы ZAKAZY.

5. Отыщите Имя клиента и Лимит кредита для найденной записи таблицы CLIENTY и перепишите их в поля COMPANY и LIMIT_CREDIT результирующей таблицы.

6. Таким образом, мы создали одну строку результирующей таблицы. Далее повторите шаги 2 - 5 до тех пор, пока не будут перечислены все заказы.

В данном алгоритме можно зафиксировать два важных момента:

– Каждая строка результирующей таблицы формируется из пары строк: одна строка находится в таблице ZAKAZY, а другая - в таблице CLIENTY .

– Любая пара строк определяется по совпадению значений ключевых полей.

 

Рис. 4.3 - Алгоритм выполнения многотабличного запроса







Дата добавления: 2015-02-03; просмотров: 1165;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

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

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.