Yhdistää kahden taulukon tietueet, kun yhteisessä kentässä on toisiaan vastaavia arvoja.
Syntaksi
FROM taulukko1 INNER JOIN taulukko2 ON taulukko1. field1compopr taulukko2. kenttä2
INNER JOIN -toiminnossa on seuraavat osat:
| Osa | Kuvaus |
|---|---|
| taulukko1, taulukko2 | Niiden taulukkojen nimet, joista tietueet yhdistetään. |
| kenttä1, kenttä2 | Yhdistettävien kenttien nimet. Elleivät ne ole numeerisia, kenttien on oltava samantyyppisiä ja sisältävät samantyyppisiä tietoja, mutta niillä ei tarvitse olla samaa nimeä. |
| vertailuoperaattori | Mikä tahansa relaatiovertailuoperaattori: "=", "<", "", "><=", ">=" tai "<>." |
Huomautuksia
Voit käyttää INNER JOIN -toimintoa kaikissa FROM-lausekkeissa. Tämä on yleisin liitostyyppi. INNER JOIN yhdistää kahden taulukon tietueet, kun taulukoiden yhteisessä kentässä on toisiaan vastaavia arvoja.
Voit valita kunkin osaston kaikki työntekijät, kun käytät INNER JOIN -toimintoa sekä Osastot- ja Työntekijät-taulukoita. Voit sen sijaan valita kaikki osastot (vaikka joillekin ei olisi määritetty työntekijöitä) tai kaikki työntekijät (vaikka joitakin ei olisi määritetty osastolle), voit luoda ulkoliitoksesi LEFT JOIN- tai RIGHT JOIN -toiminnon avulla.
Jos yrität liittää toisiinsa kenttiä, jotka sisältävät Muistio- tai OLE-objektitietoja, tapahtuu virhe.
Voit liittää kaksi samantyyppistä numeerista kenttää. Voit esimerkiksi liittää Laskuri- ja Pitkä-kentät, koska ne ovat samantyyppisiä. Et kuitenkaan voi liittää Perus- ja Kaksoistarkkuus-kenttätyyppejä.
Seuraava esimerkki osoittaa, kuinka Luokat- ja Tuotteet-taulukoiden LuokanTunnus-kentät voidaan liittää toisiinsa.
SELECT CategoryName, ProductName
FROM Categories INNER JOIN Products
ON Categories.CategoryID = Products.CategoryID;
Edellisessä esimerkissä LuokanTunnus on liitetty kenttä, mutta ei sisälly kyselyn tuloksiin, koska se ei sisälly SELECT-lausekkeeseen. Jos haluat sisällyttää liitetyt kentät, sisällytä kentän nimi SELECT-lausekkeeseen , tässä tapauksessa Categories.CategoryID.
Voit myös linkittää useita ON-lauseita JOIN-lausekkeessa seuraavan syntaksin avulla:
SELECT-kentät
FROM taulukko1 INNER JOIN taulukko2
ON-taulukko1. field1compoprtable2. kenttä1 JA
ON-taulukko1. field2compoprtable2. kenttä2) TAI
ON-taulukko1. field3compoprtable2. kenttä3)];
Voit myös asettaa JOIN-lausekkeita sisäkkäin seuraavan syntaksin avulla:
SELECT-kentät
FROM taulukko1 INNER JOIN
(taulukko2 INNER JOIN [( ]taulukko3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
TAULUKOSSA3. field3compoprtablex. fieldx)]
TAULUKOSSA2. field2compoprtable3. kenttä3)
ON-taulukko1. field1compoprtable2. kenttä2;
LEFT JOIN tai RIGHT JOIN voidaan sijoittaa INNER JOIN -lauseen sisään, mutta INNER JOIN -lausetta ei voi sijoittaa LEFT JOIN- tai RIGHT JOIN -lauseeseen.