Операции LEFT JOIN, RIGHT JOIN

Объединяют записи исходных таблиц при использовании в любом предложении FROM.

Синтаксис

FROM таблица1 [ LEFT | RIGHT ] JOIN таблица2
ON таблица1.поле1оператор_сравнениятаблица2.поле2

Операции LEFT JOIN и RIGHT JOIN состоят из следующих элементов:

Часть

Описание

таблица1, таблица2

Имена таблиц, содержащих объединяемые записи.

поле1, поле2

Имена связываемых полей. Поля должны относиться к одному тип данных и содержать данные одного вида. Однако имена этих полей могут быть разными.

compopr

Любой оператор сравнения: (=, <, >, <=, >= или <>)


Замечания

Операция LEFT JOIN создает левое внешнее соединение. С помощью левого внешнего соединения выбираются все записи первой (левой) таблицы, даже если они не соответствуют записям во второй (правой) таблице.

Операция RIGHT JOIN создает правое внешнее соединение. С помощью правого внешнего соединения выбираются все записи второй (правой) таблицы, даже если они не соответствуют записям в первой (левой) таблице.

Например, в случае с таблицами "Отделы" (левая) и "Сотрудники" (правая) можно воспользоваться операцией LEFT JOIN для выбора всех отделов (включая те, в которых нет сотрудников). Чтобы выбрать всех сотрудников (в том числе и не закрепленных за каким-либо отделом), используйте RIGHT JOIN.

В следующем примере показано, как можно объединить таблицы Categories и Products по полю CategoryID. Результат запроса представляет собой список категорий, включая те, которые не содержат товаров.

SELECT CategoryName, ProductName FROM Categories LEFT JOIN Products ON Categories.CategoryID = Products.CategoryID;

В этом примере CategoryID является связующим полем, но оно не включается в результаты запроса, поскольку не указано в инструкции SELECT. Чтобы включить связующее поле в результаты запроса, укажите его имя в инструкции SELECT. В данном случае это Categories.CategoryID.

Примечание : 

Чтобы создать запрос, результатом которого являются только те записи, для которых совпадают данные в связующих полях, воспользуйтесь операцией INNER JOIN.

  • Операции LEFT JOIN и RIGHT JOIN могут быть вложены в операцию INNER JOIN, но операция INNER JOIN не может быть вложена в операцию LEFT JOIN или RIGHT JOIN. Подробные сведения о вложении объединений можно найти в статье, посвященной операции INNER JOIN.

  • Вы можете связать несколько предложений ON. Сведения о связывании предложений см. в статье, посвященной операции INNER JOIN.

При попытке связи полей, содержащих данные типа Memo или объекты OLE, возникнет ошибка.



Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×