Эта особенность часто используется просто для эксплуатации связей, встроенных в базу данных. В предыдущем примере мы установили связь между двум таблицами в объединении. Это прекрасно. Но эти таблицы, уже были соединены через snum поле. Эта связь называется состоянием справочной целостности, как мы уже говорили в Главе 1. Используя объединение, можно извлекать данные в терминах этой связи. Например, чтобы показать имена всех заказчиков соответст- вующих продавцам которые их обслуживают, мы будем использовать такой запрос:
SELECT Customers.cname, Salespeople.sname FROM Customers, Salespeople WHERE Salespeople.snum = Customers.snum;
Вывод этого запроса показывается в Рисунке 8.2.
Это — пример объединения, в котором столбцы используются для определения предиката запроса, и в этом случае, snum столбцы из обеих таблиц, удалены из вывода. И это прекрасно. Вывод показывает какие заказчики каким продавцом обслуживаются; значения поля snum которые устанавливают связь — отсутствуют. Однако если вы введете их в вывод, то вы должны или удостовериться что вывод понятен сам по себе или обеспечить комментарий к данным при выводе.
SQL Execution Log
SELECT Customers.cname, Salespeople.sname, FROM Salespeople, Customers
WHERE Salespeople.snum = Customers.snum
cname
sname
Hoffman
Peel
Giovanni
Axelrod
Liu
Serres
Grass
Serres
Clemens
Peel
Cisneros
Rifkin
Pereira
Motika
Рисунок 8.2: Объединение продавцов с их заказчикам
‹ Создание объединения
Вверх
Объединения таблиц по равенству значений в столбцах и другие виды объединений ›