Operationen INNER JOIN

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.fält1operator 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 kombineras. Om fälten inte är numeriska måste fälten ha samma datatyp och innehålla samma information, men de behöver inte ha samma namn.

operator

En 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. De är av liknande typ. 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
ON tabell1.fält1operatortabell2.fält1 AND
ON tabell1.fält2operatortabell2.fält2) OR
ON tabell1.fält3operatortabell2.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 [( ]tabellx [INNER JOIN ...)]
ON tabell3.fält3jämförelseoperatortabellx.fältx)]
ON tabell2.fält2jämförelseoperatortabell3.fält3)
ON tabell1.fält1jämförelseoperatortabell2.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.



Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Office Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×