From customers left join orders

on customers.customerid = orders.customerid;

Рис. 3.239. Запрос с левосторонним соединением.

 

Данный запрос SQL использует объединение по остатку для таблиц Customers и Orders. Его синтаксис в отношении условий объединения несколько иной; условие соединения указывается в специальной конструкции ON оператора SQL.

 

Результат запроса приведен на рис. 3.240.

Рис. 3.240. Результат запроса с левосторонним соединением.

 

Чтобы раскрыть суть левостороннего соединения добавим в таблицу Customers (Клиенты) еще одну строчку.

 

Рис. 3.241. Состав таблицы Customers (Клиенты) после добавления.

 

Если повторить запрос показанный на рис. 3.239, то получим результат приведенный на рис. 3.242.

Результат показывает, что для клиента Иван Иванов нет соответствующего orderid, поскольку его orderid имеют значения NULL.

Если необходимо найти исключительно тех клиентов, которые ничего не заказывали, этого можно достичь, проверив их на значение NULL в поле первичного ключа правой таблицы (в данном случае, orderid), поскольку строки с реальными значениями не могут иметь значение NULL (рис. 3.243)

Рис. 3.242. Результат левостороннего соединения таблиц Customers и Orders.