Поєднує записи вихідної таблиці під час використання в будь-яких реченнях FROM.
Синтаксис
FROM таблиця1 [ LEFT | RIGHT ] JOIN таблиця2
ON таблиця1.поле1compopr таблиця2.поле2Операції LEFT JOIN і RIGHT JOIN складаються з таких частин:
Частина |
Опис |
таблиця1, таблиця2 |
Імена таблиць, записи яких буде об’єднано. |
поле1, поле2 |
Імена об’єднаних полів. Поля повинні мати однаковий тип даних, але не повинні мати однакові імена. |
compopr |
Будь-який реляційний оператор порівняння: "=", "<", ">", "<=", ">=" або "<>" |
Примітки
За допомогою операції LEFT JOIN можна створити ліве зовнішнє об’єднання. Ліві зовнішні об’єднання включають усі записи з першої (ліворуч) із двох таблиць, навіть якщо для записів у другій таблиці (праворуч) немає відповідних значень.
За допомогою операції RIGHT JOIN можна створити праве зовнішнє об’єднання. Праві зовнішні об’єднання включають усі записи з другої (праворуч) із двох таблиць, навіть якщо для записів у першій таблиці (ліворуч) немає відповідних значень.
Наприклад, ви можете застосувати LEFT JOIN до таблиці "Departments" (Відділи) (ліворуч) і "Employees" (Співробітники) (праворуч), щоб вибрати всі відділи, зокрема ті, яким не призначено співробітників. Щоб вибрати всіх працівників, зокрема тих, які не належать до жодного відділу, слід використати 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, призведе до помилки.