ОБЪЕДИНЕНИЕ БОЛЕЕ ДВУХ ТАБЛИЦ
Вы можете также создавать запросы объединяющие более двух таблиц. Предположим
что мы хотим найти все порядки заказчиков не находящихся в тех городах где находятся их продавцы.Для этого
необходимо связать все три наши типовые таблицы ( вывод показывается в Рисунке 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;
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 в
таблице Порядков )