Объединяет записи из двух таблиц, если в связующих полях этих таблиц содержатся одинаковые значения.
Синтаксис
ИЗ ТАБЛИЦЫ1 ВНУТРЕННЕЕ СОЕДИНЕНИЕ таблицы2 НА ТАБЛИЦЕ1. field1compopr таблица2. поле2
Операция INNER JOIN состоит из следующих элементов:
| Часть | Описание |
|---|---|
| таблица1, таблица2 | Имена таблиц, содержащих объединяемые записи. |
| поле1, поле2 | Имена объединенных полей. Если они не являются числовыми, поля должны иметь один и тот же тип данных и содержать одинаковые данные, но не обязательно должны иметь одинаковые имена. |
| compopr | Любой оператор реляционного сравнения: "=", "<," ">," "<=", ">=," или "<>." |
Замечания
Операцию INNER JOIN можно использовать в любом предложении FROM. Это самый распространенный тип объединения. С его помощью происходит объединение записей из двух таблиц по связующему полю, если оно содержит одинаковые значения в обеих таблицах.
При работе с таблицами "Отделы" и "Сотрудники" операцией INNER JOIN можно воспользоваться для выбора всех сотрудников в каждом отделе. Напротив, чтобы выбрать все отделы (даже если в некоторых из них нет сотрудников) или всех сотрудников (даже если некоторые из них не назначены в отдел), можно использовать операцию LEFT JOIN или RIGHT JOIN для создания внешнего соединения.
При попытке связи полей, содержащих данные типа Memo или объекты OLE, возникнет ошибка.
Вы можете объединить любые два числовых поля одинаковых типов. Например, для полей "Счетчик" и "Длинное" можно выполнить соединение между типами. Тем не менее нельзя объединять поля типов Single и Double.
В следующем примере показано, как можно объединить таблицы Categories и Products по полю CategoryID.
SELECT CategoryName, ProductName
FROM Categories INNER JOIN Products
ON Categories.CategoryID = Products.CategoryID;
В приведенном примере поле CategoryID является объединенным, но оно не включается в выходные данные запроса, так как не включается в инструкцию SELECT. Чтобы включить связанное поле, включите имя поля в инструкцию SELECT — в данном случае Categories.CategoryIDэто .
В инструкции JOIN можно также связать несколько предложений ON, используя следующий синтаксис:
ВЫБОР полей
ИЗ ТАБЛИЦЫ1 ВНУТРЕННЕЕ СОЕДИНЕНИЕ таблицы2
НА СТОЛЕ1. поле1compoprtable2. поле1 И
НА СТОЛЕ1. поле2compoprtable2. поле2) ИЛИ
НА СТОЛЕ1. field3compoprtable2. поле3)];
Ниже приведен пример синтаксиса, с помощью которого можно составлять вложенные инструкции JOIN.
ВЫБОР полей
ИЗ ТАБЛИЦЫ1 ВНУТРЕННЕЕ СОЕДИНЕНИЕ
(таблица2 ВНУТРЕННЕЕ СОЕДИНЕНИЕ [( ]таблица3
[ВНУТРЕННЕЕ СОЕДИНЕНИЕ [( ]tablex [ВНУТРЕННЕЕ СОЕДИНЕНИЕ ...)]
НА СТОЛЕ3. field3compoprtablex. fieldx)]
НА СТОЛЕ2. field2compoprtable3. поле3)
НА СТОЛЕ1. поле1compoprtable2. поле2;
Операции LEFT JOIN и RIGHT JOIN могут быть вложены в операцию INNER JOIN, но операция INNER JOIN не может быть вложена в операцию LEFT JOIN или RIGHT JOIN.