Operācija INNER JOIN

Apvieno ierakstus no divām tabulām, ja vien ir saskaņotas vērtības kopējā laukā.

Sintakse

FROM tabula1 INNER JOIN tabula2 ON tabula1.lauks1salīdzināšanas_operators tabula2.lauks2

Operācijai INNER JOIN ir šādi elementi:

Daļa

Apraksts

tabula1, tabula2

To tabulu nosaukumi, kuru ieraksti tiek apvienoti.

1.lauks, 2.lauks

Savienoto lauku nosaukumi. Ja tie nav skaitliski, laukiem jābūt ar vienādu datu tips 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: \ldblquote =,\rdblquote \ldblquote <,\rdblquote \ldblquote >,\rdblquote \ldblquote <=,\rdblquote \ldblquote >=\rdblquote vai \ldblquote <>\rdblquote .


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ējā apvienošana.

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 lauki
FROM tabula1 INNER JOIN tabula2
ON tabula1.lauks1salīdzināšanas_operatorstabula2.lauks1 AND
ON tabula1.lauks2salīdzināšanas_operatorstabula2.lauks2) OR
ON tabula1.lauks3salīdzināšanas_operatorstabula2.lauks3)];

Varat arī ligzdot priekšrakstus JOIN, izmantojot šādu sintaksi:

SELECT lauki
FROM tabula1 INNER JOIN
(tabula2 INNER JOIN [( ]tabula3
[INNER JOIN [( ]tabulax [INNER JOIN ...)]
ON tabula3.lauks3salīdzināšanas_operatorstabulax.lauksx)]
ON tabula2.lauks2salīdzināšanas_operatorstabula3.lauks3)
ON tabula1.lauks1salīdzināšanas_operatorstabula2.lauks2;

LEFT JOIN vai RIGHT JOIN var ligzdot INNER JOIN, bet INNER JOIN nevar ligzdot LEFT JOIN vai RIGHT JOIN.



Paplašiniet savas prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Office Insider programmai

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

Paldies par atsauksmēm! Šķiet, ka varētu būt noderīgi sazināties ar kādu no mūsu Office atbalsta aģentiem.

×