Operationen INNER JOIN

Gäller för
Access för Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Kombinerar poster från två tabeller när det finns matchande värden i ett gemensamt fält.

Syntax

FROM table1 INNER JOIN table2 ON table1. fält1jämförelsetabell2. fält2

Operationen INNER JOIN består av följande syntaktiska element:

Element Beskrivning
tabell1, tabell2 Namnen på de tabeller som innehåller de poster som ska kombineras.
fält1, fält2 Namnen på de fält som ska kopplas. Om fälten inte är numeriska måste de ha samma datatyp och innehålla samma typ av data, men de behöver inte ha samma namn.
operator Valfri jämförelseoperator: "=", "<," "><=", ">=" eller "."<>

      

Kommentarer

Det går att använda en INNER JOIN-åtgärd i alla FROM-satser. Det här är den vanligaste typen av koppling. Inre kopplingar kombinerar poster från två tabeller när det finns matchande värden i ett fält som är gemensamt för de båda tabellerna.

Du kan använda INNER JOIN med tabeller för avdelningar och anställda för att markera alla anställda i varje avdelning. Om du däremot vill markera alla avdelningar (även om vissa inte har tilldelats några anställda) eller alla anställda (även om vissa inte har tilldelats någon avdelning) använder du en åtgärd av typen LEFT JOIN eller RIGHT JOIN för att skapa en yttre koppling.

Om du försöker koppla fält som innehåller datatypen Memo eller OLE-objekt uppstår ett fel.

Du kan koppla alla par med numeriska fält som är av liknande typ. Du kan till exempel koppla samman via fälten AutoNumber och Long eftersom de liknar typer. Du kan däremot inte koppla samman fälttyperna Single and Double.

I följande exempel visas hur du kan koppla tabellerna Kategorier och Produkter på fältet Kategori-ID:

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

I föregående exempel är Kategori-ID det kopplade fältet, men tas inte med i frågeresultatet eftersom det inte ingår i SELECT-instruktionen. Om du vill ta med det kopplade fältet inkluderar du fältnamnet i SELECT-instruktionen – i det här fallet Categories.CategoryID.

Du kan också koppla flera ON-satser i ett JOIN-uttryck med hjälp av följande syntax:

SELECT (fält)
FROM table1 INNER JOIN tabell2
PÅ tabell1. fält1kompoprtable2. fält1 OCH
PÅ tabell1. fält2kompoprtable2. fält2) ELLER
PÅ tabell1. fält3COMPOPRTABLE2. fält3)];

Du kan även kapsla in JOIN-uttryck med följande syntax:

SELECT (fält)
FROM table1 INNER JOIN
(tabell2 INNER JOIN [( ]tabell3
[INNER JOIN [( ]tabellx [INNER JOIN ...)]
PÅ tabell3. field3compoprtablex. fieldx)]
PÅ tabell2. fält2kompoprtable3. fält3)
PÅ tabell1. fält1kompoprtable2. fält2;

En LEFT JOIN eller en RIGHT JOIN kan kapslas i en INNER JOIN men en INNER JOIN kan inte kapslas i en LEFT JOIN eller en RIGHT JOIN.