Operacijos LEFT JOIN, RIGHT JOIN

Sujungia šaltinio lentelės įrašus naudojant bet kurioje sąlygoje FROM.

Sintaksė

FROM lentelė1 [ LEFT | RIGHT ] JOIN lentelė2
ON lentelė1.laukas1lyginimo_operatorius lentelė2.laukas2

Operacijos LEFT JOIN ir RIGHT JOIN yra sudarytos iš šių dalių:

Dalis

Aprašas

lentelė1, lentelė2

Lentelių, kurių įrašai suderinti, pavadinimai.

laukas1, laukas2

Sujungiamų laukų pavadinimai. Laukai turi būti to paties duomenų tipas ir turėti vienodos rūšies duomenis, bet jie neprivalo turėti to paties pavadinimo.

lyginimo_operatorius

Bet kuris santykinis lyginimo operatorius: „=“, „<“, „>“, „<=“, „>=“ arba „<>“.


Pastabos

Naudokite operaciją LEFT JOIN, norėdami sukurti kairįjį šoninį sujungimą. Kairieji išoriniai sujungimai apima visus įrašus iš pirmosios (kairėje) iš dviejų lentelių, net jei nėra sutampančių įrašų reikšmių antroje lentelėje (dešinėje).

Naudokite operaciją RIGHT JOIN, norėdami sukurti dešinįjį šoninį sujungimą. Dešinieji išoriniai sujungimai apima visus įrašus iš antrosios (dešiniosios) iš dviejų lentelių, net jei nėra sutampančių įrašų reikšmių pirmojoje lentelėje (kairėje).

Pavyzdžiui, galite naudoti LEFT JOIN su lentelėmis Skyriai (kairėje) ir Darbuotojai (dešinėje), kad pasirinktumėte visus skyrius, įskaitant tuos, kuriems nėra priskirta darbuotojų. Norėdami pasirinkti visus darbuotojus, įskaitant tuos, kurie nepriskirti skyriui, turėtumėte naudoti RIGHT JOIN.

Tolesniame pavyzdyje parodyta, kaip galima sujungti Kategorijų ir Produktų lenteles lauke CategoryID. Užklausa sukuria sąrašą visų kategorijų, įskaitant tas, kuriose nėra produktų:

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

Šiame pavyzdyje CategoryID yra sujungtas laukas, tačiau jis neįtrauktas į užklausos rezultatus, nes jis neįtrauktas į sakinį SELECT. Norėdami įtraukti sujungtą lauką, į sakinį SELECT įveskite lauko pavadinimą, šiuo atveju – Categories.CategoryID.

Pastaba : 

Norėdami sukurti užklausą, kurioje yra tik įrašai, kuriuose duomenys sujungtuose laukuose yra tokie patys, naudokite operaciją INNER JOIN.

  • LEFT JOIN arba RIGHT JOIN galima įdėti į INNNER JOIN, tačiau INNNER JOIN negalima įdėti į LEFT JOIN ar RIGHT JOIN. Žr. diskusiją apie įdėjimą INNER JOIN temoje, kad sužinotumėte, kaip sujungimus įdėti į kitus sujungimus.

  • Galite susieti kelias sąlygas ON. Žr. diskusiją apie sąlygų susiejimą INNER JOIN temoje, kad sužinotumėte, kaip tai padaryti.

Jei bandysite sujungti laukus, kuriuose yra Memo arba OLE objekto duomenys, įvyks klaida.



Tobulinkite savo įgūdžius
Ieškoti mokymo
Pirmiausia gaukite naujų funkcijų
Prisijunkite prie „Office Insider“ dalyvių

Ar ši informacija buvo naudinga?

Dėkojame už jūsų atsiliepimus!

Dėkojame už jūsų atsiliepimą! Panašu, kad gali būti naudinga jus sujungti su vienu iš mūsų „Office“ palaikymo agentų.

×