Operacja INNER JOIN

Dotyczy
Access dla Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Łączy rekordy z dwóch tabel, ilekroć we wspólnym polu występują pasujące wartości.

Składnia

FROM tabela1 INNER JOIN tabela2 ON tabela1. pole1komputer tabela2. Pole2

Operacja INNER JOIN zawiera następujące segmenty:

Segment Opis
tabela1, tabela2 Nazwy tabel, z których pochodzą łączone rekordy.
pole1, pole2 Nazwy sprzęganych pól. Jeśli nie są liczbowe, pola muszą mieć ten sam typ danych i zawierać ten sam rodzaj danych, ale nie muszą mieć takiej samej nazwy.
operator_porównania Każdy operator porównania relacyjnego: "=", "", "<", "<>=", ">=" lub "<>".

      

Spostrzeżenia

Operacji INNER JOIN możesz użyć w dowolnej klauzuli FROM. Jest to najpopularniejszy typ sprzężenia. Sprzężenia wewnętrzne łączą rekordy z dwóch tabel, ilekroć we wspólnym dla obu tabel polu występują pasujące wartości.

Operacji INNER JOIN możesz użyć dla tabel Działy i Pracownicy, aby wybrać wszystkich pracowników z każdego działu. Natomiast aby wybrać wszystkie działy (nawet jeśli niektórzy nie mają przypisanych do nich pracowników) lub wszystkich pracowników (nawet jeśli niektórzy nie są przypisani do działu), możesz użyć operacji LEFT JOIN lub RIGHT JOIN, aby utworzyć sprzężenie zewnętrzne.

W przypadku próby połączenia pól zawierających dane typu Nota lub Obiekt OLE wystąpi błąd.

Możesz połączyć dowolne dwa pola liczbowe podobnego typu. Na przykład możesz połączyć pola typu Autonumerowanie i Długie, ponieważ są one podobnego typu. Nie możesz jednak połączyć pól typu Pojedyncze i Podwójne.

W poniższym przykładzie pokazano, jak utworzyć sprzężenie tabel Kategorie i Produkty w polu Identyfikator_kategorii:

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

W poprzednim przykładzie pole Identyfikator_kategorii jest polem sprzężonym, które jednak nie jest uwzględnione w wynikach zapytania, ponieważ nie jest zawarte w instrukcji SELECT. Aby dołączyć pole sprzężone, dołącz nazwę pola do instrukcji SELECT — w tym przypadku Categories.CategoryID.

Możesz też połączyć kilka klauzul ON w instrukcji JOIN, stosując następującą składnię:

SELECT pola
FROM tabela1 INNER JOIN tabela2
ON tabela1. pole1compoprtable2. pole1 I
ON tabela1. pole2compoprtable2. pole2) LUB
ON tabela1. pole3compoprtable2. pole3)];

Ponadto możesz zagnieździć instrukcje JOIN za pomocą poniższej składni:

SELECT pola
FROM tabela1 INNER JOIN
(tabela2 INNER JOIN [( ]tabela3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
ON tabela3. pole3compoprtablex. polex)]
ON tabela2. pole2compoprtable3. pole3)
ON tabela1. pole1compoprtable2. pole2;

Operacja LEFT JOIN lub RIGHT JOIN może być zagnieżdżona w operacji INNER JOIN, ale operacja INNER JOIN nie może być zagnieżdżona w operacji LEFT JOIN ani w operacji RIGHT JOIN.