Файл: ...\Samples\Data\Louterj.qpr

В проекте Solution запрос LOUTERJ объединяет информацию таблиц Orders и Customer используя left outer join. Каждая результирующая запись содержит поле order_id из таблицы Orders и поля cust_id, company и country из таблицы Customer, как это указывается в предложении (операнде, clause) SELECT оператора SELECT-SQL.

  CopyCode imageКопировать код
SELECT Customer.cust_id, Customer.company, Customer.country,;
Orders.order_id;
FROM testdata!orders LEFT OUTER JOIN testdata!customer ;
ON Orders.cust_id = Customer.cust_id

Обычно, left outer join может ответить на два вопроса о записях в Вашей базе данных, а именно:

  • Какие заказы принадлежат конкретным клиентам?

  • Какие заказы не связаны с информацией о клиентах?

Эта информация помогает администратору базы данных определить какие записи заказов не связаны ни с одним из клиентов, т.е. являются лишними.

Left outer join возвращает все записи из таблицы, находящейся слева, и только те записи из таблицы, находящейся справа, для которых оказалось верным условие объединения. Результирующая таблица включает следующие два подмножества записей:

  • Записи из каждой таблицы, для которых оказалось верным условие объединения.

  • Записи из таблицы Orders, для которых условие объединения оказалось не верным.

Ввиду того, что все записи результирующей таблицы имееют одинаковый набор полей, записи, для которых условие объединения оказалось не верным, имеют значение всех полей, кроме поля order_id, равное NULL. Например, если запись с заказом 11079 не связана ни с одной записью в таблице Customer, то запись, которая появится в результирующей таблице, будет содержать значение NULL в полях cust_id, company и country.

Вы можете изменить результаты запроса, определяя фильтры, порядок сортировки, группировки или другие опции для запроса.

См. также