Ovo je jedan iz niza članaka o jeziku Access SQL. U ovom se članku opisuje kako napisati uvjet WHERE te se koriste primjeri za ilustraciju raznih tehnika koje se mogu koristiti u uvjetu WHERE.
U SQL izjavi uvjet WHERE navodi kriterije koje vrijednosti polja moraju zadovoljiti da bi zapisi koji sadrže te vrijednosti bili obuhvaćeni rezultatima upita.
Ako vas zanima pregled jezika Access SQL, pročitajte članak Access SQL: osnovni koncepti, vokabular i sintaksa.
U ovom članku
Ograničavanje rezultata pomoću kriterija
Kad želite pomoću podataka ograničiti broj zapisa koji se vraćaju za upit, možete upotrijebiti kriterije. Kriterij upita sličan je formuli – to je niz koji se može sastojati od referenci, operatora i konstanti polja. Kriteriji upita vrste su izraza.
Sljedeća tablica prikazuje neke primjere kriterija i objašnjava kako oni funkcioniraju.
Kriteriji |
Opis |
> 25 and < 50 |
Kriterij se odnosi na brojčano polje, kao što su Cijena ili JedinicaNaSkladištu. Uključuje samo one zapise koji u polju Cijena ili JedinicaNaSkladištu sadrže vrijednost veću od 25 i manju od 50. |
DateDiff ("gggg", [BirthDate], Date()) > 30 |
Kriterij se odnosi na polje datuma/vremena, kao što je polje DatumRođenja. U rezultat upita obuhvaćeni su samo zapisi u kojima je broj godina između datuma rođenja osobe i današnjeg datuma veći od 30. |
Jest null |
Taj se kriterij može primijeniti na bilo koju vrstu polja radi pokazivanja vrijednosti za koju vrijednost polja iznosi null. |
Kao što je pokazala prethodna tablica, kriteriji se mogu znatno razlikovati ovisno o vrsti podataka polja na koji se kriteriji primjenjuju te vaših specifičnih preduvjeta. Neki su kriteriji jednostavni i koriste osnovne operatore i konstante. Drugi su složeni i koriste funkcije i posebne operatore te obuhvaćaju reference polja.
Važno: Ako se koristi polje s agregatnom funkcijom, u uvjetu WHERE ne možete navesti kriterij za to polje. Umjesto toga, upotrijebite uvjet HAVING da biste naveli kriterij za agregatna polja. Da biste saznali više, pročitajte članke Access SQL: osnovni koncepti, vokabular i sintaksa i Uvjet HAVING.
Sintaksa uvjeta WHERE
U uvjetu WHERE izjave SELECT koristite kriterije upita.
Uvjet WHERE ima sljedeću osnovnu sintaksu:
WHERE field = criterion
Primjerice, pretpostavimo da želite telefonski broj korisnika, ali se sjećate samo da je njegovo prezime Slanac. Umjesto pregledavanja svih telefonskih brojeva u bazi podataka možete pomoću uvjeta WHERE ograničiti rezultate i olakšati traženje željenog telefonskog broja. Uz pretpostavku da su prezimena pohranjena u polju naziva Prezime, vaš će uvjet WHERE izgledati ovako:
WHERE [LastName]='Bagel'
Napomena: Kriterije u uvjetu WHERE ne morate temeljiti na ekvivalentnosti vrijednosti. Možete koristiti druge operatore usporedbe, primjerice veće od (>) ili manje od (<). Na primjer, WHERE [Cijena]>100.
Korištenje uvjeta WHERE za kombiniranje izvora podataka
Ponekad ćete možda htjeti kombinirati izvore podataka na temelju polja koja sadrže podudarne podatke, ali imaju različite vrste podataka. Primjerice, polje u jednoj tablici može sadržavati podatke vrste broja, a vi želite to polje usporediti s poljem u drugoj tablici koje sadrži podatke vrste teksta.
Ne možete stvoriti pridruživanje između polja različite vrste. Da biste kombinirali podatke iz dvaju izvora podataka na temelju vrijednosti u poljima različitih vrsta, morate stvoriti uvjet WHERE koji koristi jedno polje kao kriterij za drugo polje, pomoću ključne riječi LIKE.
Primjerice, pretpostavimo da želite koristiti podatke iz tablice1 i tablice2, ali samo kad se podaci u polju1 (tekstno polje u tablici1) podudaraju s podacima u polju2 (brojčano polje u tablici2). Vaš će uvjet WHERE izgledati ovako:
WHERE field1 LIKE field2
Da biste saznali više o stvaranju kriterija za korištenje u uvjetu WHERE, pročitajte članak Primjeri kriterija za upite.