Объединение более двух таблиц

Вы можете также создавать запросы, объединяющие более двух таблиц. Предположим, что мы хотим найти все порядки заказчиков, не находящихся в тех городах где находятся их продавцы. Для этого необходимо связать все три наши типовые таблицы ( вывод показывается в Рисунке 8.4 ):
SELECT onum, cname, Orders.cnum, Orders.snum FROM Salespeople, Customers,Orders WHERE Customers.city < > Salespeople.city AND Orders.cnum = Customers.cnum AND Orders.snum = Salespeople.snum;

SQL Execution Log

SELECT onum, cname, Orders.cnum, Orders.snum FROM Salespeople, Customers, Orders
WHERE Customers.city < > Salespeople.city
AND Orders.cnum = Customers.cnum
AND Orders.snum = Salespeople.snum;

onum
cname
cnum
snum

3001
Cisneros
2008
1007

3002
Pereira
2007
1004

3006
Cisneros
2008
1007

3009
Giovanni
2002
1003

3007
Grass
2004
1002

3010
Grass
2004
1002

Рисунок 8. 4: Объединение трех таблиц
Хотя эта команда выглядит скорее как комплексная, вы можете следовать за логикой, просто проверяя — что заказчики не размещены в тех городах, где размещены их продавцы ( совпадение двух snum полей ), и что перечисленные порядки — выполнены с помощью этих заказчиков( совпадение порядков с полями cnum и snum в таблице Порядков ).

‹ Объединения таблиц по равенству значений в столбцах и другие виды объединений
Вверх
Резюме 8 ›

Оцените статью
Айтистанция
Добавить комментарий

Adblock
detector