Operācijas LEFT JOIN, RIGHT JOIN

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. Laukos ir jābūt vienādam datu tips un tajos jābūt vienāda veida datiem, taču to nosaukumiem nav jābūt vienādiem.

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

Izmantojiet operāciju LEFT JOIN, lai izveidotu kreisā ārējā apvienošana. 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 labā ārējā apvienošana. 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.

Piezīme : 

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.



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.

×