Внутреннее объединение таблиц

Описанный выше процесс формирования пар строк для записи в результирующую таблицу называется объединением таблиц.

Объединение таблиц по равенству

Объединение на основе точного совпадения значений двух и более столбцов называется объединением по равенству. Объединения могут быть сформированы и на других видах сравнения значений столбцов (например, «больше» или «меньше»).

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

Приведем пример многотабличного запроса для описанного выше алгоритма: вывести список всех заказов, включающий номер и стоимость заказа, наименование компании-кли­ента и лимит кредита клиента.

SELECT ID_ORDER, COMPANY, PRICE, CREDIT_LIMIT

FROM ZAKAZY, CLIENTY

WHERE ZAKAZY.ID_CLN = CLIENTY.ID_CLN

Обратите внимание на то, что в приведенном запросе нет указаний о том, как должен выполняться запрос. В запросе ничего не сказано, с какой таблицы начинать выполнение процесса выборки, какую запись таблицы рассматривать первой, а какую - второй. В запросе указывается лишь то, каким должен быть результат выполнения запроса: из каких таблиц и значения каких полей должны содержаться в результирующей таблице. Порядок выполнения запроса определяет СУБД. Этим и отличается язык SQL от алгоритмических языков типа C++ и Pascal.

Приведенный пример многотабличного запроса похож на однотабличные запросы за исключением следующих различий:

– Предложение FROM содержит две таблицы, а не одну.

– В предложении WHERE сравниваются связанные столбцы разных таблиц.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: