Соединение равенства

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

Синтаксис оператора выборки для этого способа соединения таблиц следующий:

SELECT Таблица1.поле1. Таблица2.поле2 {,… ТаблицаN. полеN}

FROM поле1, поле2 { полеN}

WHERE Таблица1.о6щее_поле1 = Таблица2.общее_поле1

{AND Таблица1.общее_поле2 = Таблица2.общее поле2}

При формировании запроса на выборку из нескольких таблиц в списке полей пос­ле слова SELECT перед именем поля обычно указывается имя таблицы, к которой это поле относится. Такое действие называется квалификацией полей запроса. Ква­лификация обязательна только для полей, имеющих одинаковые имена в разных таблицах, из которых производится выборка.

Рассмотрим пример выборки из двух таблиц посредством соединения равенства. Выберем из таблицы Клиенты поля, содержащие сведения об именах клиентов, а из таблицы Продажи — поля, в которых содержатся сведения о покупках, сделанных клиентами. Для связывания таблиц воспользуемся общим для обеих таблиц по­лем Код клиента:

SELECT Клиенты.Фамилия. Клиенты.Имя,

Клиенты.Отчество. Продажи.Продано

FROM Клиенты, Продажи

WHERE Клиенты.[Код клиента]=Продажи.[Код клиента]

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

Рис. 29. Использование соединения равенства для выборки из двух таблиц

 

При связывании таблиц можно использовать предложение группировки. Изме­ним рассмотренный запрос (см. рис. 11.29) таким образом, чтобы результаты были сгруппированы по полям Фамилия, Имя, Отчество, и для каждого клиента выводи­лось суммарное количество покупок:

SELECT Клиенты.Фамилия. Клиенты.Имя. Клиенты.Отчество,

SUM(Продажи.Продано) AS [Количество покупок],

FROM Клиенты, Продажи, Товары

WHERE Клиенты.[Код клиента]=Продажи.[Код клиента]

GROUP BY Клиенты.Фамилия. Клиенты.Имя. Клиенты.Отчество

Результаты, возвращаемые этим запросом, приведены на рис. 30.

Рис.30. Пример группировки результатов выборки из двух таблиц

 

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

SELECT Клиенты.Фамилия. Клиенты.Имя. Клиенты.Отчество,

SUM(Продажи.Продано) AS [Количество покупок],

Товары.Наименование

FROM Клиенты, Продажи, Товары

WHERE Клиенты.[Код клиента]=Продажи.[Код клиента] AND

GROUP BY Клиенты.Фамилия. Клиенты.Имя. Клиенты.Отчество

Товары.Наименование

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

Рис. 31. Пример выборки из трех таблиц








Дата добавления: 2015-10-21; просмотров: 748;


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

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

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

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