Kombinerar poster från två tabeller när det finns matchande värden i ett gemensamt fält.
Syntax
FROM tabell1 INNER JOIN tabell2 ON tabell1. field1compopr tabell2. 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 de inte är numeriska måste fälten ha samma datatyp och innehålla samma typ av data, men de behöver inte ha samma namn. |
| operator | Alla relationsjämförelseoperatorer: "=," "<," ">," "<=," ">=" 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 välja alla avdelningar (även om vissa inte har några anställda tilldelade) eller alla anställda (även om vissa inte har tilldelats till en avdelning) kan du använda åtgärden 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 två numeriska fält av liknande typer. Du kan till exempel koppla fälten Räknare och Lång eftersom de är som typer. Du kan däremot inte koppla typerna Enkel och Dubbel för fält.
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 tar du med 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 tabell1 INNER JOIN tabell2
ON tabell1. field1compoprtable2. fält1 OCH
ON tabell1. field2compoprtable2. fält2) ELLER
ON tabell1. field3compoprtable2. fält3)];
Du kan även kapsla in JOIN-uttryck med följande syntax:
SELECT-fält
FROM tabell1 INNER JOIN
(tabell2 INNER JOIN [( ]tabell3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
ON tabell3. field3compoprtablex. fieldx)]
ON tabell2. field2compoprtable3. fält3)
ON tabell1. field1compoprtable2. 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.