Šis raksts ietilpst rakstu kopā par Access SQL. Šajā rakstā ir paskaidrots, kā rakstīt klauzulu SELECT, kā arī sniegti piemēri par dažādām metodēm, ko varat izmantot tās rakstīšanai.
Pārskatu par Access SQL skatiet rakstā Access SQL: pamatjēdzieni, vārdnīca un sintakse.
Šajā rakstā
Lauku atlase: klauzula SELECT
Priekšraksts SELECT parasti sākas ar klauzulu SELECT. Klauzulu SELECT izmanto, lai norādītu to lauku nosaukumus, kuri satur vaicājumā izmantojamos datus. Lauku vietā vai papildus tiem var izmantot arī izteiksmes. Kā lauku var pat izmantot vēl vienu priekšrakstu SELECT — to sauc par apakšvaicājumu.
Pieņemsim, ka vēlaties uzzināt klientu tālruņu numurus. Ja pieņemam, ka lauka, kurā ir saglabāti klientu tālruņu numuri, nosaukums ir txtCustPhone, klauzula SELECT ir šāda:
SELECT [txtCustomerPhone]
Nosaukumu var ietvert kvadrātiekavās. Ja nosaukums neietver atstarpes vai speciālās rakstzīmes (piemēram, pieturzīmes), kvadrātiekavu lietošana nav obligāta. Ja nosaukums ietver atstarpes vai speciālās rakstzīmes, iekavas jāizmanto obligāti.
Padoms.: Nosaukumu ar atstarpēm ir vieglāk lasīt, un tas var ietaupīt laiku, noformējot formas un atskaites, taču var būt nepieciešams vairāk rakstīt, rakstot SQL priekšrakstus. Šo faktu vajadzētu apsvērt, kad nosauksiet objektus savā Access datu bāzē.
Ja SQL priekšrakstā ir divi vai vairāk lauki ar vienu un to pašu nosaukumu, klauzulā SELECT lauka nosaukumam ir jāpievieno katra lauka datu avota nosaukums. Datu avotam jāizmanto tas pats nosaukums, kas tiek izmantots klauzulā FROM.
Visu lauku atlase
Ja vēlaties iekļaut visus datu avota laukus, varat vai nu klauzulā SELECT norādīt katru lauku atsevišķi, vai arī izmantot aizstājējzīmi (*). Izmantojot zvaigznīti, programma Access vaicājuma izpildes laikā nosaka, kādus laukus satur datu avots, un iekļauj vaicājumā visus šos laukus. Tas palīdz nodrošināt vaicājuma atjaunināšanu, ja datu avotam tiek pievienoti jauni lauki.
Zvaigznīti SQL priekšrakstā var izmantot vienam vai vairākiem datu avotiem. Ja izmantojat zvaigznīti un ir vairāki datu avoti, ir jāiekļauj datu avota nosaukums kopā ar zvaigznīti, lai programma Access varētu noteikt, no kuriem datu avotiem ir jāiekļauj visi lauki.
Piemēram, pieņemsim, ka vēlaties atlasīt visus laukus tabulā Orders (Pasūtījumi), bet tikai e-pasta adresi no tabulas Contacts (Kontaktpersonas). Klauzula SELECT varētu būt līdzīgai šai:
SELECT Orders.*, Contacts.[E-mail Address]
Piezīme.: Sekojiet zvaigznītes lietojumam. Ja vēlāk datu avotam tiek pievienoti jauni lauki, kurus neesat plānojis, vaicājuma rezultāti var nebūt tādi, kā paredzēts.
Noteiktu vērtību atlase
Ja zināt, ka ar priekšrakstu tiks atlasīti redundantie dati, bet jūs vēlaties redzēt tikai noteiktas vērtības, varat klauzulā SELECT izmantot atslēgvārdu DISTINCT. Piemēram, pieņemsim, ka katram klientam ir norādītas vairākas interešu sfēras, un dažiem no tiem ir vienādi tālruņa numuri. Ja vēlaties, lai katrs tālruņa numurs tiktu rādīts tikai vienu reizi, klauzula SELECT ir šāda:
SELECT DISTINCT [txtCustomerPhone]
Lauku vai izteiksmju nosaukumu aizstāšana: atslēgvārds AS
Lai mainītu etiķeti, kas katram laukam tiek rādīta datu lapas skatā, klauzulā SELECT izmantojiet atslēgvārdu AS un lauka aizstājvārdu. Lauka aizstājvārds ir nosaukums, kas tiek piešķirts laukam vaicājumā, lai rezultāti būtu vieglāk lasāmi. Piemēram, ja vēlaties atlasīt datus no lauka ar nosaukumu txtCustPhone un šis lauks satur klientu tālruņu numurus, varat rezultātus padarīt vieglāk lasāmus, priekšrakstā SELECT izmantojot lauka aizstājvārdu šādi:
SELECT [txtCustPhone] AS [Customer Phone]
Piezīme.: Ja klauzulā SELECT tiek izmantota izteiksme, ir jāizmanto lauka aizstājvārds.
Atlase, izmantojot izteiksmi
Dažkārt ir nepieciešams apskatīt aprēķinus, kuru pamatā ir dati, vai izgūt tikai daļu lauka datu. Piemēram, pieņemsim, ka vēlaties atgriezt klientu dzimšanas gadu, balstoties uz datiem datu bāzes laukā BirthDate (Dzimšanas datums). Klauzula SELECT varētu būt līdzīgai šai:
SELECT DatePart("yyyy",[BirthDate]) AS [Birth Year]
Šajā izteiksmē ietilpst funkcija DatePart un divi argumenti — "yyyy" (konstante) un [BirthDate] (identifikators).
Kā lauku var izmantot jebkuru derīgu izteiksmi, ja pie atsevišķas ievades vērtības tās rezultāts ir atsevišķa vērtība.