Объединяет записи из двух таблиц, если в связующих полях этих таблиц содержатся одинаковые значения.
Синтаксис
FROM table1 INNER JOIN table2 ON table1. field1compopr table2. field2
Операция INNER JOIN состоит из следующих элементов:
| Часть | Описание |
|---|---|
| таблица1, таблица2 | Имена таблиц, содержащих объединяемые записи. |
| поле1, поле2 | Имена объединенных полей. Если они не являются числовыми, поля должны иметь один и тот же тип данных и содержать один и тот же тип данных, но они не должны иметь одинаковое имя. |
| compopr | Любой оператор реляционного сравнения: "=", "<," ">," "<=", ">=" или "<>". |
Замечания
Операцию INNER JOIN можно использовать в любом предложении FROM. Это самый распространенный тип объединения. С его помощью происходит объединение записей из двух таблиц по связующему полю, если оно содержит одинаковые значения в обеих таблицах.
При работе с таблицами "Отделы" и "Сотрудники" операцией INNER JOIN можно воспользоваться для выбора всех сотрудников в каждом отделе. В отличие от этого, чтобы выбрать все отделы (даже если в некоторых из них не назначены сотрудники) или всех сотрудников (даже если некоторые из них не назначены отделу), можно использовать операцию LEFT JOIN или RIGHT JOIN для создания внешнего соединения.
При попытке связи полей, содержащих данные типа Memo или объекты OLE, возникнет ошибка.
Можно объединить любые два числовых поля типа типа . Например, можно объединить поля AutoNumber и Long, так как они похожи на типы. Однако нельзя объединять типы полей 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, используя следующий синтаксис:
Поля SELECT
FROM table1 INNER JOIN table2
ON table1. field1compoprtable2. field1 И
ON table1. field2compoprtable2. field2) ИЛИ
ON table1. field3compoprtable2. field3)];
Ниже приведен пример синтаксиса, с помощью которого можно составлять вложенные инструкции JOIN.
Поля SELECT
FROM table1 INNER JOIN
(table2 INNER JOIN [( ]table3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
ON table3. field3compoprtablex. fieldx)]
ON table2. field2compoprtable3. field3)
ON table1. field1compoprtable2. field2;
Операции LEFT JOIN и RIGHT JOIN могут быть вложены в операцию INNER JOIN, но операция INNER JOIN не может быть вложена в операцию LEFT JOIN или RIGHT JOIN.