Комбинира записите на таблицата източник, когато се използва в клауза FROM.
Синтаксис
FROM таблица1 [ LEFT | RIGHT ] JOIN таблица2
ON таблица1.поле1оператор_за_сравнение таблица2.поле2Операциите LEFT JOIN и RIGHT JOIN имат следните части:
Част |
Описание |
таблица1, таблица2 |
Имената на таблиците, от които се комбинират записи. |
поле1, поле2 |
Имената на полетата, които се свързват. Полетата трябва да бъдат от един и същ тип данни и да съдържат данни от един и същ вид, но не е необходимо да имат едни и същи имена. |
оператор_за_сравнение |
Всеки релационен оператор за сравнение: "=," "<," ">," "<=," ">=" или "<>." |
Забележки
Използвайте операцията 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, възниква грешка.