Operacija INNER JOIN

Sujungia įrašus iš dviejų lentelių, kai yra sutampančių reikšmių bendrame lauke.

Sintaksė

FROM lentelė1 INNER JOIN lentelė2 ON lentelė1.laukas1lyginimo_operatorius lentelė2.laukas2

Operacija INNER JOIN yra sudaryta iš šių dalių:

Dalis

Aprašas

lentelė1, lentelė2

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

laukas1, laukas2

Sujungiamų laukų pavadinimai. Jei jie nėra skaičius, laukai turi būti to paties duomenų tipas ir turėti vienodos rūšies duomenis, bet jų pavadinimas negali būti toks pat.

lyginimo_operatorius

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


Pastabos

Operaciją INNER JOIN galite naudoti bet kurioje sąlygoje FROM. Tai dažniausiai pasitaikantis jungties tipas. Vidinės jungtys sujungia įrašus iš dviejų lentelių, kai yra sutampančių reikšmių abiems lentelėms bendrame lauke.

INNER JOIN galite naudoti su lentelėmis Skyriai ir Darbuotojai, norėdami pasirinkti visus darbuotojus kiekviename skyriuje. O jei norite pasirinkti visus skyrius (net jei kai kuriems nepriskirta darbuotojų) arba visus darbuotojus (net jei kai kurie nepriskirti jokiam skyriui), galite naudoti operaciją LEFT JOIN arba RIGHT JOIN, kad sukurtumėte išorinis sujungimas.

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

Galite sujungti bet kokius du panašaus tipo skaitinius laukus. Pavyzdžiui, galite sujungti laukus AutoNumber ir Long, nes jie yra panašaus tipo. Tačiau negalite sujungti laukų tipų Vienas ir Dvigubas.

Tolesniame pavyzdyje parodyta, kaip galima sujungti Kategorijų ir Produktų lenteles lauke CategoryID:

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

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

Taip pat sakinyje JOIN galite susieti kelias sąlygas ON naudodami šią sintaksę:

SELECT laukai
FROM lentelė1 INNER JOIN lentelė2
ON lentelė1.laukas1lyginimo_operatoriuslentelė2.laukas1 AND
ON lentelė1.laukas2lyginimo_operatoriuslentelė2.laukas2) OR
ON lentelė1.laukas3lyginimo_operatoriuslentelė2.laukas3)];

Sakinius JOIN taip pat galite įdėti naudodami šią sintaksę:

SELECT laukai
FROM lentelė1 INNER JOIN
(lentelė2 INNER JOIN [( ]lentelė3
[INNER JOIN [( ]lentelėx [INNER JOIN ...)]
ON lentelė3.laukas3lyginimo_operatoriuslentelėx.laukasx)]
ON lentelė2.laukas2lyginimo_operatoriuslentelė3.laukas3)
ON lentelė1.laukas1lyginimo_operatoriuslentelė2.laukas2;

LEFT JOIN arba RIGHT JOIN galima įdėti į INNNER JOIN, tačiau INNNER JOIN negalima įdėti į LEFT JOIN ar RIGHT JOIN.



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ų.

×