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.