Эта особенность часто используется просто для эксплуатации связей, встроенных в базу данных. В предыдущем примере мы установили связь между двум таблицами в объединении. Это прекрасно. Но эти таблицы, уже были соединены через snum поле. Эта связь называется состоянием справочной целостности, как мы уже говорили в Главе 1. Используя объединение, можно извлекать данные в терминах этой связи. Например, чтобы показать имена всех заказчиков соответст- вующих продавцам которые их обслуживают, мы будем использовать такой запрос: SELECT Customers.cname, Salespeople.sname FROM Customers, Salespeople WHERE Salespeople.snum = Customers.snum; Вывод этого запроса показывается в Рисунке 8.2. Это - пример объединения, в котором столбцы используются для определения предиката запроса, и в этом случае, snum столбцы из обеих таблиц, удалены из вывода. И это прекрасно. Вывод показывает какие заказчики каким продавцом обслуживаются; значения поля snum которые устанавливают связь - отсутствуют. Однако если вы введете их в вывод, то вы должны или удостовериться что вывод понятен сам по себе или обеспечить комментарий к данным при выводе.
Рисунок 8.2: Объединение продавцов с их заказчикам
|