Tai yra vienas iš straipsnių apie „Access“ SQL rinkinių. Šiame straipsnyje aprašoma, kaip rašyti sąlygą SELECT, ir pateikiama pavyzdžių, iliustruojančių įvairius šios sąlygos naudojimo būdus.
Norėdami susipažinti su „Access SQL“ naudojimu, žr. straipsnį „Access SQL“: pagrindinės sąvokos, žodynas ir sintaksė.
Šiame straipsnyje
Select laukai: sąlyga SELECT
SELECT sakinys paprastai prasideda SELECT sąlyga. SELECT sąlyga naudojama norint nurodyti pavadinimus laukų, kuriuose yra duomenų, kuriuos norite naudoti užklausoje. Vietoje laukų arba kartu su jais taip pat galite naudoti reiškinius. Kaip lauką galite netgi naudoti kitą SELECT sakinį – tai vadinama antrine užklausa.
Tarkime, norite sužinoti savo klientų telefono numerius. Jei laukas, kuriame saugomi klientų telefono numeriai, vadinamas txtCustPhone, sąlyga SELECT rodoma taip:
SELECT [txtCustomerPhone]
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.
Jei SQL sakinyje yra du arba daugiau laukų, turinčių tą patį pavadinimą, turite įtraukti kiekvieno lauko duomenų šaltinio pavadinimą į SELECT sąlygos lauko pavadinimą. Duomenų šaltiniui pavadinti naudokite tą patį pavadinimą, kurį naudojate FROM sąlygoje.
Visų laukų pasirinkimas
Norėdami įtraukti visus duomenų šaltinio laukus, galite arba atskirai išvardyti visus laukus SELECT sąlygoje, arba naudoti pakaitos simbolį žvaigždutę (*). Kai naudojama žvaigždutė, vykdant užklausą „Access“ nustato, kokie laukai yra duomenų šaltinyje, ir į užklausą įtraukia visus laukus. Tai padeda užtikrinti, kad užklausa bus nuolat naujinama, jei į duomenų šaltinį įtraukiami nauji laukai.
Galite naudoti žvaigždutę SQL sakinyje nurodydami vieną arba daugiau duomenų šaltinių. Jei naudojate žvaigždutę ir yra keli duomenų šaltiniai, turite įtraukti duomenų šaltinio pavadinimą kartu su žvaigždute, kad „Access“ galėtų nustatyti, iš kurio duomenų šaltinio įtraukti visus laukus.
Tarkime, norite pasirinkti visus lentelės Užsakymai laukus, bet tik el. pašto adresą lentelėje Kontaktai. Tokiu atveju SELECT sąlyga gali atrodyti panaši į šią:
SELECT Orders.*, Contacts.[E-mail Address]
Pastaba: Stebėkite, kada naudojate žvaigždutę. Jei vėliau į duomenų šaltinį įtraukiami nauji laukai, bet to neplanavote, užklausos rezultatai gali nebūti tokie, kokių norite.
Skirtingų reikšmių pasirinkimas
Jei žinote, kad sakinys pasirinks dubliuojamą informaciją, bet norėtumėte naudoti tik skirtingas reikšmes, CLAUSE sąlygoje galite naudoti raktažodį SELECT. Tarkime, kiekvienas jūsų klientas atstovauja skirtingus pomėgius ir kai kurie iš tų klientų naudoja tą patį telefono numerį. Jei norite būti tikri, kad matysite kiekvieną telefono numerį vieną kartą, sąlyga CLAUSE turi atrodyti taip:
SELECT DISTINCT [txtCustomerPhone]
Laukų arba reiškinių pavadinimų pakaitų naudojimas: raktažodis AS
Galite pakeisti lauko, rodomo duomenų lapo rodinyje, žymą naudodami raktažodį AS ir lauko pseudonimą sąlygoje CLAUSE. Lauko pseudonimas yra pavadinimas, kurį priskiriate laukui užklausoje, kad rezultatus būtų lengviau skaityti. Pavyzdžiui, jei norite išrinkti duomenis iš lauko pavadinimu txtCustPhone, o lauke yra klientų telefono numeriai, galite pagerinti rezultatų skaitomumą SELECT sakinyje naudodami lauko pseudonimą taip:
SELECT [txtCustPhone] AS [Customer Phone]
Pastaba: Kai naudojate reiškinį sąlygoje SELECT, privalote naudoti lauko pseudonimą.
Pasirinkimas naudojant reiškinį
Kartais norite peržiūrėti skaičiavimus, pagrįstus duomenimis, arba gauti tik dalį lauko duomenų. Pavyzdžiui, norite grąžinti klientų gimimo metus pagal duomenų bazės duomenis lauke BirthDate (gimimo data). Tokiu atveju SELECT sąlyga gali atrodyti panaši į šią:
SELECT DatePart("yyyy",[BirthDate]) AS [Birth Year]
Šį reiškinį sudaro funkcija DatePart ir du argumentai – "yyyy" (konstanta) ir [BirthDate] (identifikatorius).
Kaip lauką galite naudoti bet kokį tinkamą reiškinį, jei reiškinys pateikia vieną išvesties reikšmę, kai gauna vieną įvesties reikšmę.