Operācijas LEFT JOIN, RIGHT JOIN

Attiecas uz
Access pakalpojumam Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Apvieno avota tabulas ierakstus, tos lietojot jebkurā klauzulā FROM.

Sintakse

FROM table1 [ LEFT | RIGHT ] JOIN table2
ON table1.field1compopr table2.field2

Operācijām LEFT JOIN un RIGHT JOIN ir šādas daļas:

Daļa Apraksts
tabula1, tabula2 To tabulu nosaukumi, kuru ieraksti tiek apvienoti.
1.lauks, 2.lauks To lauku nosaukumi, kas tiek savienoti. Laukiem ir jābūt vienāda tipa datiem un jāsatur vienāda veida dati, taču to nosaukumiem nav jābūt vienādiem.
salīdzināšanas_operators Jebkurš no relāciju salīdzināšanas operatoriem: "=," "<," ">=," "<=," vai> "<>."

      

Piezīmes

Izmantojiet operāciju LEFT JOIN, lai izveidotu kreiso ārējo savienojumu. Kreisie ārējie savienojumi ietver visus ierakstus no pirmās (kreisās) no abām tabulām pat tad, ja nav atbilstošu vērtību ierakstiem otrajā (labajā) tabulā.

Izmantojiet operāciju RIGHT JOIN, lai izveidotu labo ārējo savienojumu. Labie ārējie savienojumi ietver visus ierakstus no otrās (labās) no abām tabulām pat tad, ja nav atbilstošu vērtību ierakstiem pirmajā (kreisajā) tabulā.

Piemēram, varat izmantot LEFT JOIN ar tabulām Nodaļas (kreisā) un Darbinieki (labā), lai atlasītu visas nodaļas, tostarp tās, kurām nav piesaistītu darbinieku. Lai atlasītu visus darbiniekus, tostarp tos, kas nav piesaistīti nodaļai, izmantojiet RIGHT JOIN.

Tālāk esošajā piemērā ir parādīts, kā varat savienot tabulas Kategorijas un Produkti laukā CategoryID. Vaicājums rada kategoriju sarakstu, kas ietver tās, kurās nav produktu:

SELECT CategoryName, ProductName FROM Categories LEFT JOIN Products ON Categories.CategoryID = Products.CategoryID;

Šajā 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, ievadiet lauka nosaukumu priekšrakstā SELECT — šajā gadījumā Categories.CategoryID.

Lai izveidotu vaicājumu, kas ietver tikai ierakstus, kuros dati savienotajos laukos ir vienādi, izmantojiet darbību INNER JOIN.

  • LEFT JOIN vai RIGHT JOIN var ligzdot INNER JOIN, bet INNER JOIN nevar ligzdot LEFT JOIN vai RIGHT JOIN. Skatiet diskusiju par ligzdošanu INNER JOIN tēmā, lai uzzinātu, kā savienojumus ligzdot citos savienojumos.
  • Varat saistīt vairākas klauzulas ON. Skatiet diskusiju par klauzulu saistīšanu INNER JOIN tēmā, lai uzzinātu, kā to paveikt.

Mēģinot apvienot laukus, kas satur Memo vai OLE objekta datus, rodas kļūda.