Apvieno ierakstus no divām tabulām, ja vien ir saskaņotas vērtības kopējā laukā.
Sintakse
FROM table1 INNER JOIN table2 ON table1. Lauks1Compopr tabula2. 2. lauks
Operācijai INNER JOIN ir šādi elementi:
| Daļa | Apraksts |
|---|---|
| tabula1, tabula2 | To tabulu nosaukumi, kuru ieraksti tiek apvienoti. |
| 1.lauks, 2.lauks | To lauku nosaukumi, kas tiek savienoti. Ja tie nav skaitliski, laukiem jābūt vienāda datu tipa un jāsatur viena veida dati, taču nav jābūt ar vienu nosaukumu. |
| salīdzināšanas_operators | Jebkurš no relāciju salīdzināšanas operatoriem: "=," "<," ">=," "<=," vai> "<>." |
Piezīmes
Varat izmantot operāciju INNER JOIN jebkurā klauzulā FROM. Šis ir izplatītākais savienojumu tips. Iekšējie savienojumi apvieno ierakstus no divām tabulām, ja vien ir saskaņotas vērtības abām tabulām kopējā laukā.
Varat izmantot INNER JOIN kopā ar tabulām Nodaļas un Darbinieki, lai atlasītu visus darbiniekus katrā nodaļā. Turpretī, lai atlasītu visas nodaļas (pat tad, ja dažām nav piešķirti darbinieki) vai visus darbiniekus (pat tad, ja daži nav piešķirti nodaļai), varat izmantot operāciju LEFT JOIN vai RIGHT JOIN, lai izveidotu ārējo savienojumu.
Mēģinot apvienot laukus, kas satur Memo vai OLE objekta datus, rodas kļūda.
Varat apvienot jebkurus divus skaitliskus laukus ar līdzīgiem tipiem. Piemēram, varat apvienot AutoNumber un Long laukus, jo tiem ir līdzīgi tipi. Taču nevarat apvienot Single un Double tipu laukus.
Tālāk esošajā piemērā ir parādīts, kā varat savienot tabulas Kategorijas un Produkti laukā CategoryID.
SELECT CategoryName, ProductName
FROM Categories INNER JOIN Products
ON Categories.CategoryID = Products.CategoryID;
Iepriekšējā piemērā CategoryID ir savienotais lauks, bet tas nav iekļauts vaicājuma rezultātos, jo tas nav iekļauts priekšrakstā SELECT. Lai iekļautu savienoto lauku, iekļaujiet lauka nosaukumu priekšrakstā SELECT — šajā gadījumā Categories.CategoryID.
Varat arī saistīt vairākas klauzulas ON priekšrakstā JOIN, izmantojot šādu sintaksi:
SELECT fields
FROM table1 INNER JOIN table2
Uz galda1. Lauks1Compoprtable2. 1. lauks UN
Uz galda1. Lauks_2Compoprtable2. 2. lauks) VAI
Uz galda1. Lauks3Compoprtable2. lauks3)];
Varat arī ligzdot priekšrakstus JOIN, izmantojot šādu sintaksi:
SELECT fields
FROM table1 INNER JOIN
(tabula2 INNER JOIN [( ]tabula3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
Uz galda3. Lauks3CompoprTableX. lauksx)]
Uz galda2. lauks2compoprtable3. 3. lauks)
Uz galda1. Lauks1Compoprtable2. 2. lauks;
LEFT JOIN vai RIGHT JOIN var ligzdot INNER JOIN, bet INNER JOIN nevar ligzdot LEFT JOIN vai RIGHT JOIN.