Операция INNER JOIN

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

Синтаксис

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.поле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.



Разширете уменията си
Преглед на обучението
Получавайте първи новите функции
Присъединете се към участниците в Office Insider

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×