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

Запрос, ROUTERJ, в проекте Solution использует тестовую базу данных, и объединяет инфорамцию из таблицы заказов и работников, используя внешнее объединение справа. Каждая запись результата иметт поле для идентификатора заказа order_id из таблицы заказов и поле для фамилии работкника lastname из таблицы работников.

 CopyCode imageСкопировать код
SELECT Orders.order_id, Employee.last_name;
 FROM testdata!employee RIGHT OUTER JOIN testdata!orders ;
 ON Employee.emp_id = Orders.emp_id

Обычно, внешнее объединение справа может ответить на два вопроса о записях в вашей базе данных. Например, такой запрос может ответить на вопросы:

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

  • У каких заказов не определен работник?

Такая информация может помочь в отслеживании конкретных заказов и идентифицировать заказы, у которых не определен оформивший их работник.

Внешнее объединение справа запрашивает все записи из таблицы справа в условии объединения и объединяет из с записями из таблицы слева, которые соответствуют условию. Выходной набор включает в себя два поднабора записей:

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

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

Поскольку каждая запись в выходной наборе имеет те же самые поля, записи в lastname , которые не имеют соответствия в таблице заказов имеют в поле значения NULL, а в противном случае, будут хранить записи из таблицы заказов. Например, если запись для заказа с номером 11078 не имеет никакого соответствия с записями работников с таблице employee, то эта запись появится в выходном наборе со значением NULL в поле lastname.

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

Смотрите также