Поєднує записи з двох таблиць, якщо вони містять однакове значення в спільному полі.
Синтаксис
FROM таблиця1 INNER JOIN таблиця2 ON таблиця1.поле1 compopr таблиця2.поле2
Операція INNER JOIN складається з таких частин:
| Частина | Опис |
|---|---|
| таблиця1, таблиця2 | Імена таблиць, записи яких буде об’єднано. |
| поле1, поле2 | Імена об’єднаних полів. Якщо поля не числові, поля мають мати однаковий тип даних і містити такі самі дані, але вони не повинні мати однакове ім'я. |
| compopr | Будь-який оператор реляційного порівняння: "=", "<", "", "><=", ">=" або "<>." |
Примітки
Операцію INNER JOIN можна використовувати в будь-якому реченні FROM. Це найпоширеніший тип об’єднання. Операції внутрішнього об’єднання поєднують записи з двох таблиць у всіх випадках, коли вони містять однакове значення в спільному полі.
Ви можете застосувати операцію INNER JOIN до таблиць "Підрозділи" та "Працівники", щоб вибрати всіх працівників із кожного підрозділу. На відміну від цього, щоб вибрати всі відділи (навіть якщо деякі з них не мають призначених працівників) або всіх працівників (навіть якщо деякі з них не призначено відділу), можна скористатися операцією LEFT JOIN або RIGHT JOIN, щоб створити зовнішнє об'єднання.
Якщо спробувати об’єднати поля, які містять дані типу Memo або "Об’єкт OLE", станеться помилка.
Ви можете об’єднати будь-які два поля типу "Числовий" або схожих типів. Наприклад, типи "Автонумерація" та "Довге ціле число" схожі, тому такі поля можна об’єднати. Проте об’єднати поля типів "Одинарне значення" та "Подвійне значення" не можна.
На прикладі нижче продемонстровано, як об’єднати таблиці 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 таблиця1 INNER JOIN таблиця2
ON table1. field1compoprtable2. поле1 І
ON table1. field2compoprtable2. поле2) АБО
ON table1. field3compoprtable2. поле3)];
Крім того, можна вкласти інструкції JOIN, використовуючи такий синтаксис:
Поля SELECT
FROM таблиця1 INNER JOIN
(таблиця2 INNER JOIN [( ]таблиця3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
ON table3. field3compoprtablex. fieldx)]
ON table2. field2compoprtable3. поле3)
ON table1. field1compoprtable2. поле2;
Операції LEFT JOIN і RIGHT JOIN можна вкласти в INNER JOIN, але INNER JOIN не можна вкласти в LEFT JOIN або RIGHT JOIN.