Поєднує записи з двох таблиць, якщо вони містять однакове значення в спільному полі.
Синтаксис
FROM таблиця1 INNER JOIN таблиця2 ON таблиця1.поле1оператор_порівняння таблиця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. Щоб включити таке поле в результати, додайте його ім’я (у цьому випадку – Categories.CategoryID) в інструкцію SELECT.
Ви також можете зв’язати в інструкції JOIN кілька речень ON, використовуючи такий синтаксис:
SELECT поля
FROM таблиця1 INNER JOIN таблиця2 ON таблиця1.поле1оператор_порівняннятаблиця2.поле1 AND ON таблиця1.поле2оператор_порівняннятаблиця2.поле2) OR ON таблиця1.поле3оператор_порівняннятаблиця2.поле3)];Крім того, можна вкласти інструкції JOIN, використовуючи такий синтаксис:
SELECT поля
FROM таблиця1 INNER JOIN (таблиця2 INNER JOIN [( ]таблиця3 [INNER JOIN [( ]таблиця_x [INNER JOIN ...)] ON таблиця3.поле3оператор_порівняннятаблиця_x.поле_x)] ON таблиця2.поле2оператор_порівняннятаблиця3.поле3) ON таблиця1.поле1оператор_порівняннятаблиця2.поле2;Операції LEFT JOIN і RIGHT JOIN можна вкласти в INNER JOIN, але INNER JOIN не можна вкласти в LEFT JOIN або RIGHT JOIN.