Операция INNER JOIN

Отнася се за
Access за Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Комбинира записи от две таблици, за които има съвпадащи стойности в общо поле.

Синтаксис

FROM таблица1 INNER JOIN таблица2 ON таблица1. поле1опеец_ таблица2. поле2

Операцията INNER JOIN има следните части:

Част Описание
таблица1, таблица2 Имената на таблиците, от които се комбинират записи.
поле1, поле2 Имената на полетата, които се свързват. Ако не са числови, полетата трябва да бъдат от един и същ тип данни и да съдържат данни от един и същ вид, но не е необходимо да имат едно и също име.
оператор_за_сравнение Всеки релален оператор за сравнение: "=," "<," ">," "<=", ">=" или "<>."

      

Забележки

Можете да използвате операцията INNER JOIN във всяка клауза FROM. Това е най-често срещаният тип съединение. Съединението комбинира записи от две таблици всеки път, когато има съвпадащи стойности в общо за двете таблици поле.

Можете да използвате INNER JOIN с таблиците "Отдели" и "Служители", за да изберете всички служители във всеки отдел. За разлика от това, за да изберете всички отдели (дори ако някои нямат назначени служители) или всички служители (дори ако някои не са назначени в отдел), можете да използвате операцията LEFT JOIN или RIGHT JOIN, за да създадете външно съединение.

Ако опитате да съедините полета, съдържащи данни от тип Memo или OLE, възниква грешка.

Можете да съедините кои да са цифрови полета или полета от сроден тип. Например можете да съедините полета от типа AutoNumber или Long, тъй като типовете им са сродни. Не можете обаче да съединявате полета от типове Single и Double.

Следващият пример показва как може да съедините таблиците "Категории" и "Продукт" чрез полето "ИДкатегория":

SELECT CategoryName, ProductName
FROM Categories INNER JOIN Products
ON Categories.CategoryID = Products.CategoryID;

В предишния пример "ИДкатегория" е съединяващото поле, но то не е включено в резултата от заявката, понеже отсъства в инструкцията SELECT. За да включите съединяемото поле, включете името на полето в командата SELECT – в този случай Categories.CategoryID.

Можете също да свържете няколко ON клаузи в инструкция JOIN, като използвате следния синтаксис:

SELECT полета
FROM таблица1 INNER JOIN таблица2
ON таблица1. field1compoprtable2. поле1 И
ON таблица1. field2compoprtable2. поле2) ИЛИ
ON таблица1. field3compoprtable2. поле3)];

Можете също да влагате инструкции JOIN, като използвате следния синтаксис:

SELECT полета
FROM таблица1 INNER JOIN
(таблица2 INNER JOIN [( ]таблица3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
ON таблица3. field3compoprtablex. fieldx)]
ON таблица2. field2compoprtable3. поле3)
ON таблица1. field1compoprtable2. поле2;

LEFT JOIN или RIGHT JOIN могат да са вложени в INNER JOIN, но INNER JOIN не може да е вложен в LEFT JOIN или RIGHT JOIN.