See on üks Access SQL-i puudutavatest artiklitest. Artiklis kirjeldatakse, kuidas kirjutada SELECT-klauslit ning tuuakse näiteid illustreerimaks erinevaid tehnikaid, mida nende kirjutamisel kasutada.
Access SQL-i ülevaate leiate artiklist Accessi SQL: põhimõtted, sõnavara ja süntaks.
Selle artikli teemad
Väljade valimine: SELECT-klausel
SELECT-lause algab tavaliselt SELECT-klausliga. SELECT-klausli abil saate määrata nimed nendel väljadel, millel on andmed, mida soovite päringus kasutada. Lisaks väljadele või nende asemel saate kasutada ka avaldisi. Väljana saate kasutada isegi teist SELECT-lauset – seda nimetatakse alampäringuks.
Oletagem, et soovite teada klientide telefoninumbreid. Eeldusel, et väli, kus talletatakse klientide telefoninumbrid, on txtCustPhone, näeb SELECT-klausel välja järgmine:
SELECT [txtCustomerPhone]
Nime saate ümbritseda nurksulgudega. Kui nimes pole ühtegi tühikut ega erimärki (nt kirjavahemärki), on nurksulgude kasutamine valikuline. Kui nimes on mõni tühik või erimärk, tuleb nurksulge kasutada.
Näpunäide.: Tühikuid sisaldavat nime on hõlpsam lugeda ning see aitab vormide ja aruannete loomisel aega kokku hoida, ent SQL-lausete kirjutamisel võib selle tõttu olla vaja rohkem teksti sisestada. Kui panete objektidele Accessi andmebaasis nimesid, peaksite sellega arvestama.
Kui teie SQL-i lausel on vähemalt kaks samanimelist välja, tuleb iga välja andmeallikas lisada SELECT-klauslis väljanimele. Sama nime saate kasutada ka FROM-klauslis kasutatava andmeallika puhul.
Kõigi väljade valimine
Kui soovite kaasata andmeallikast kõik väljad, saate kas loetleda kõik väljad SELECT-klauslis eraldi või kasutada metamärki tärn (*). Kui kasutate tärni, teeb Access päringu käivitamisel kindlaks, milliseid välju andmeallikas sisaldab, ning kõik need väljad kaasatakse päringusse. Nii saate olla kindel, et päring püsib ajakohasena uute väljade lisamisel andmeallikale.
SQL-i lauses saate kasutada tärni ühe või mitme andmeallikaga. Kui kasutate tärni ja andmeallikaid on mitu, tuleb tärnile lisada andmeallika nimi, nii et Access saab kindlaks teha, millisest andmeallikast soovite välju kaasata.
Oletame näiteks, et soovite valida tabelist Tellimused kõik väljad, aga tabelist Kontaktid ainult meiliaadressid. Sel juhul näeb SELECT-klausel välja umbes järgmine:
SELECT Orders.*, Contacts.[E-mail Address]
Märkus.: Jälgige tärni kasutamist hoolega. Kui andmeallikale lisatakse uusi välju, mida te ei kavatsenud, ei pruugi päringutulemid teie ootustele vastata.
Eraldi väärtuste valimine
Kui teate, et lause valib üleliigseid andmeid, ja soovite näha ainult eristatavaid väärtusi, saate kasutada SELECT-klauslis võtmesõna DISTINCT. Oletagem näiteks, et teie kliendid esindavad mitmeid eri huve ja mõned neist kasutavad sama telefoninumbrit. Kui soovite olla kindel, et iga telefoninumbrit kuvatakse ainult üks kord, näeb SELECT-klausel välja selline:
SELECT DISTINCT [txtCustomerPhone]
Väljade või avaldiste asendusnimede kasutamine: võtmesõna AS
SELECT-klauslis saate võtmesõna AS ja välja pseudonüümi abil muuta mis tahes välja andmelehevaates kuvatavat silti. Välja pseudonüüm on nimi, mille määrate päringu väljale tulemuste loetavamaks muutmiseks. Näiteks kui soovite valida andmeid väljalt txtCustPhone ja väljal on klientide telefoninumbrid, saate tulemeid loetavamaks muuta SELECT-klauslis välja pseudonüümi kasutamise teel järgmiselt:
SELECT [txtCustPhone] AS [Customer Phone]
Märkus.: SELECT-klauslis avaldise kasutamisel tuleb kasutada välja pseudonüümi.
Valimine avaldise abil
Mõnikord soovite vaadata oma andmete põhjal tehtud arvutusi või koguda ainult osa välja andmetest. Oletagem näiteks, et soovite tagastada klientide sünniaastad andmebaasi välja BirthDate alusel. Sel juhul näeb SELECT-klausel välja umbes järgmine:
SELECT DatePart("yyyy",[BirthDate]) AS [Birth Year]
Avaldis koosneb funktsioonist DatePart ja kahest argumendist — „yyyy“ (konstant ja [BirthDate] (identifikaator).
Väljana saate kasutada mis tahes kehtivat avaldist, kui avaldisele ühe sisendväärtuse andmisel väljastab see samuti ühe väärtuse.