Соединение трех и более таблиц

Объединение более двух таблиц не сложнее объединения двух. Главное правило таково — таблицы нужно объединять попарно, учитывая условия объединения. Это можно представить в виде отношений данных между первой таблицей, второй и третьей.

 

Например, если требуется узнать, кто из клиентов заказал книги по Java, необходимо отследить эти отношения в рамках небольшого количества таблиц.

 

Необходимо будет найти клиентов, разместивших, по крайней мере, один заказ, который выражен в orderjtems книгой по Java. Из таблицы Customers перебираемся в таблицу Orders, используя customerid, как и в предыдущих случаях. Из таблицы Orders в таблицу Order_Items, используя orderid. Из Order_Items — в таблицу Books за нужной книгой, руководствуясь номером ISBN. После того как все связи установлены, можем запросить книги со словом Java в названии и получить в результате имена клиентов, которые купили какую-либо из этих книг.

 

Посмотрим на запрос, который приведет все это в исполнение: