To je eden od člankov o strežniku SQL aplikacije Access. V tem članku je opisano, kako napisati stavek WHERE, poleg tega pa so s primeri ponazorjene različne tehnike, ki jih lahko uporabite v stavku WHERE.
V izjavi SQL stavek WHERE določa pogoje, ki jih morajo vrednosti polja izpolnjevati za zapise, ki vsebujejo vrednosti, ki jih želite vključiti v rezultate poizvedbe.
Za pregled strežnika SQL aplikacije Access preberite članek SQL aplikacije Access: osnovni koncepti, besednjak in sintaksa.
V tem članku
Omeji rezultate s pogoji
Ko želite uporabiti podatke za omejitev števila zapisov, ki so vrnjeni v poizvedbi, lahko uporabite pogoji. Pogoj poizvedbe je podoben formuli – gre za niz, ki je lahko sestavljen iz sklicev na polja, operatorjev in konstant. Pogoji poizvedbe so vrsta izraz.
V tej tabeli je prikazanih nekaj vzorčnih pogojev, razloženo pa je tudi, kako delujejo.
Pogoji |
Opis |
> 25 in < 50 |
Ta pogoj velja za polje »Število«, na primer »Cena« ali »EnotNaZalogi«. Vključuje samo tiste zapise, kjer polje »Cena« ali »EnotNaZalogi« vsebuje vrednost, večjo od 25 in manjšo od 50. |
DateDiff ("yyyy", [RojstniDatum], Date()) > 30 |
Ta pogoj velja za polje »Datum/čas«, na primer za »RojstniDatum«. V rezultat poizvedbe so vključeni le zapisi, pri katerih je število let med rojstnim datumom in današnjim datumom večje od 30. |
Is Null |
Ta pogoj lahko uporabite za vse vrste polj, da se pokažejo zapisi, pri katerih je vrednost polja ničelna. |
Kot je prikazano v prejšnji tabeli, se lahko pogoji med seboj zelo razlikujejo, odvisno od podatkovnega tipa polja, za katerega veljajo, in vaših posebnih zahtev. Nekateri pogoji so preprosti in uporabljajo osnovne operatorje in konstante. Drugi so bolj zapleteni in uporabljajo funkcije in posebne operatorje, vključujejo pa tudi sklice na polja.
Pomembno: Če se polje uporabi z združevalno funkcijo, ni mogoče določiti pogojev za to polje v stavku WHERE. Namesto tega uporabite stavek HAVING za določanje pogojev za združena polja. Če želite več informacij, preberite članke Access SQL: osnovni pojmi, besednjak in sintaksa in Stavek HAVING.
Sintaksa stavka WHERE
Pogoje poizvedbe uporabite v stavku WHERE izjave SELECT.
Stavek WHERE vsebuje takšno osnovno sintakso:
WHERE field = criterion
Če želite na primer imeti telefonsko številko stranke, vendar se spomnite samo njenega priimka Kolar. Namesto da bi si ogledali vse telefonske številke v svoji zbirki podatkov, lahko uporabite stavek WHERE za omejitev rezultatov in lažje iskanje želene telefonske številke. Če domnevamo, da so priimki shranjeni v polju »Priimek«, je vaš stavek WHERE prikazan tako:
WHERE [LastName]='Bagel'
Opomba: Ni treba, da pogoji v vašem stavku WHERE temeljijo na ekvivalenci vrednosti. Uporabite lahko druge primerjalne operatorje, na primer več kot (>) ali manj kot (<). Na primer WHERE [cena] > 100.
Stavek WHERE uporabi za združevanje virov podatkov
Včasih boste morda želeli primerjati vire podatkov na podlagi polj z ujemajočimi se podatki, vendar imate podatke različnih vrst. V polju ene tabele je lahko na primer vrsta podatkov »Številka«, vi pa želite to polje primerjati s poljem v drugi tabeli, v kateri je vrsta podatkov »Besedilo«.
Ne morete združiti polj, ki vsebujejo različne vrste podatkov. Če želite združiti podatke iz dveh virov podatkov na osnovi vrednosti v poljih z različnimi vrstami podatkov, ustvarite stavek WHERE, ki uporablja eno polje kot pogoj za drugo polje, tako, da uporabite ključno besedo LIKE.
Če želite na primer uporabiti podatke iz tabele1 in tabele2, vendar samo takrat, ko se podatki v polju1 (polje z besedilom v tabeli1) ujemajo s podatki v polju2 (številsko polje v tabeli2). Vaš stavek WHERE bi bil videti približno tako:
WHERE field1 LIKE field2
Če želite več informacij o ustvarjanju pogojev, ki jih uporabite v stavku WHERE, si oglejte članek Primeri pogojev poizvedbe.