„Access“ SQL: sąlyga FROM

Tai yra vienas iš straipsnių apie „Access“ SQL rinkinių. Šiame straipsnyje aprašoma, kaip rašyti sąlygą FROM, ir pateikiama pavyzdžių, iliustruojančių įvairius sąlygos FROM naudojimo būdus.

Sakinyje SELECT nurodote sąlygoje FROM esančius duomenų šaltinius. Sąlygoje FROM taip pat gali būti JOIN operacija. Operacija JOIN atitinka ir sujungia duomenis iš dviejų duomenų šaltinių, pvz., dviejų lentelių, arba lentelės ir užklausos.

„Access SQL“ apžvalgoje žr. straipsnį „Access SQL“: pagrindinės sąvokos, žodynas ir sintaksė.

Šiame straipsnyje

Duomenų šaltinių nurodymas

Duomenų šaltinių pavadinimų pakaitų naudojimas

Susijusių duomenų sujungimas

Duomenų šaltinių nurodymas

Sakinyje SELECT sąlyga FROM nurodo lenteles arba užklausas, kuriose yra duomenų, kuriuos naudos sąlyga SELECT.

Tarkime, norite sužinoti konkretaus kliento telefono numerį. Tarkime, lentelė, kurioje yra laukas su saugomais duomenis, vadinama tblCustomer, sąlyga FROM būtų panaši į šią:

FROM tblCustomer

Laužtiniuose skliaustuose galite įrašyti pavadinimą. Jei pavadinime nėra tarpų arba specialiųjų simbolių (pvz., skyrybos ženklų), laužtiniai skliaustai yra pasirinktiniai. Jei pavadinime yra tarpų arba specialiųjų simbolių, turite naudoti skliaustus.

Patarimas : Pavadinimas, kuriame yra tarpų, yra lengviau skaitomas ir gali sutaupyti laiko kuriant formas ir ataskaitas, tačiau gali tekti įvesti daugiau teksto rašant SQL sakinius. Tai turite apsvarstyti, kai kuriate „Access“ duomenų bazės objektų pavadinimus.

Duomenų šaltinių pavadinimų pakaitų naudojimas

Lentelę sakinyje SELECT galite pavadinti kitu pavadinimu naudodami lentelės pseudonimą sakinyje SELECT. Lentelėje pseudonimas yra pavadinimas, kurį užklausoje galite priskirti duomenų šaltiniui, kai išraišką naudojate kaip duomenų šaltinį arba kai norite, kad būtų lengviau įvesti ir perskaityti SQL sakinį. Tai gali būti ypač naudinga, jei duomenų šaltinio pavadinimas yra ilgas arba jį sunku įvesti. Ypač jei yra keli laukai, kuriuose yra tų pačių pavadinimų iš skirtingų lentelių.

Pavyzdžiui, norint rinktis duomenis iš dviejų laukų, kurie abu pavadinti „ID“ ir kurių vienas yra gautas iš lentelės „tblCustomer“, o kitas – iš lentelės „tblOrder“, jūsų sąlyga SELECT gali atrodyti taip:

SELECT [tblCustomer].[ID], [tblOrder].[ID]

Naudojant lentelės pseudonimus sakinyje FROM, gali būti lengviau įvesti užklausą. Jūsų sąlyga FROM su lentelės pseudonimais gali atrodyti taip:

FROM [tblCustomer] AS [C], [tblOrder] AS [O]

Tada savo sąlygoje SELECT galėsite naudoti šiuos lentelių pseudonimus:

SELECT [C].[ID], [O].[ID]

Pastaba : Jei naudojate lentelės pseudonimus, SQL sakinyje esančią lentelę galite pavadinti naudodami pseudonimą arba visą lentelės pavadinimą.

Susijusių duomenų sujungimas

Jei užklausos rezultate įrašų iš dviejų duomenų šaltinių poras reikia sujungti į vieną įrašą, galite atlikti sujungimą. Sujungimas yra SQL operacija, kuri nurodo, kaip yra susiję du duomenų šaltiniai ir ar duomenis iš vieno šaltinio galima įtraukti, jei nėra atitinkamų duomenų iš kito šaltinio.

Norėdami sujungti informaciją dviejų duomenų šaltinių, galite atlikti sujungimo operaciją bendrame lauke. Kai šiame lauke saugomos reikšmės sutampa, rezultate duomenys iš įrašų yra sujungiami.

Be duomenų sujungimo, sujungimą taip pat galite naudoti norėdami nurodyti, ar įtraukti įrašus iš kurios nors lentelės, jei susijusioje lentelėje nėra atitinkamo įrašo, naudokite sujungimus.

Tarkime, užklausoje norite naudoti duomenis iš dviejų lentelių: tblCustomer ir tblOrder. Abiejose lentelėse yra laukas CustomerID, kuris identifikuoja klientą. Kiekvienas lentelės tblCustomer įrašas gali turėti vieną ar daugiau atitinkančių įrašų iš lentelės tblOrder, o atitinkančias reikšmes galima nustatyti pagal lauko CustomerID reikšmes.

Jei norite sujungti lenteles taip, kad užklausa sujungtų įrašus iš abiejų lentelių, išskyrus įrašus iš bet kurios lentelės, jei nėra atitinkamo įrašo kitoje lentelėje, jūsų sąlyga FROM gali atrodyti taip (eilutės lūžis pridedamas, kad būtų lengviau skaityti):

FROM [tblCustomer] INNER JOIN [tblOrder]
ON [tblCustomer].[CustomerID]=[tblOrder].[CustomerID]

Programoje „Access“ sujungimai atsiranda sakinio SELECT sąlygoje FROM. Yra dviejų tipų sujungimai: vidiniai ir išoriniai sujungimai. Tolesniuose skyriuose paaiškinami šių dviejų tipų sujungimai.

Vidiniai sujungimai

Tai dažniausiai pasitaikantis sujungimų tipas. Paleidus užklausą su vidiniu sujungimu, į užklausos rezultatus įtraukiami tik įrašai, kurių bendra reikšmė yra abiejose sujungtose lentelėse.

Vidinio sujungimo sintaksė yra tokia (eilutės lūžis pridedamas, kad būtų lengviau skaityti):

FROM table1 INNER JOIN table2
ON table1.field1 compopr table2.field2

Šioje lentelėje aprašomos įvairios operacijos INNER JOIN dalys.

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 „<>“.

Išoriniai sujungimai

Išorinis sujungimas yra panašus į vidinį sujungimą, nes jie nurodo užklausai, kaip sujungti informaciją iš dviejų šaltinių. Jie skiriasi, nes išorinis sujungimas taip pat nurodo, ar norite įtraukti duomenis ten, kur nėra bendros reikšmės. Išoriniai sujungimai yra kryptiniai: galite nurodyti, ar įtraukti visus įrašus iš pirmojo duomenų šaltinio, nurodyto sujungime (vadinamame kairiu sujungimu), ar įtraukti visus įrašus iš antrojo duomenų šaltinio, nurodyto sujungime (vadinamame dešiniu sujungimu).

Išorinio sujungimo sintaksė yra tokia:

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

Šioje lentelėje aprašomos įvairios operacijų LEFT JOIN ir RIGHT JOIN dalys.

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 „<>“.

Daugiau informacijos apie sujungimus ieškokite straipsnyje Lentelių ir užklausų sujungimas.

Puslapio viršus

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

×