
Power
webmajstori odabiru Avalon IT
hosting jer...
...novi MS SQL 2000 server daje robustnost za kojom
cvile web aplikacije - koristite ga besplatno do kraja godine! Cekaju vas i novi
e-mail serveri na steroidima, jeftinije domene i novi dizajn sitea, a samo citatelji
ovog newslettera koji do 5. studenog 2003. naruce Avalonov hosting ekskluzivno
dobivaju dodatnih 1 GB prometa mjesecno na svoj racun tokom prve godine. U narudzbenicu
u polje "Dodatni komentari i upute" upisite
kod "wm102003" i gigabajt je vas.
|
Pozdrav
webmajstori!Evo i petog dijela SQL vodica Blanke Matkovic, danas se upoznajemo
s logickim operatorima (AND, OR, NOT) i operatorima za usporedbu (IN, LIKE, BETWEEN)
koji su izuzetno velika pomoc prilikom koristenja naredbi WHERE i SELECT. Logicki
operatori i operatori za usporedbu
Napisala: Blanka Matkovic © 2001 - 2003 AND
operator AND operator spaja dva ili vise uvjeta,
a konacni rezultat upita svi su zapisi iz tablice koji zadovoljavaju uvjete u
naredbi WHERE. Na primjer, ako iz tablice Osobe koja se sastoji od kolona Ime,
Prezime, Adresa, Grad, Dob, Zaposlenje zelimo izvuci samo one osobe s prebivalistem
u Zagrebu koje su ujedno starije od 18 godina, naredba ce biti:
SELECT Ime, Prezime FROM Osobe WHERE Grad='Zagreb' AND Dob>18;
OR operator OR
operator takodjer spaja dva ili vise uvjeta, no konacni su rezultat svi zapisi
iz tablice koji zadovoljavaju barem jedan od uvjeta u naredbi WHERE. Naredbom
SELECT Ime, Prezime FROM Osobe WHERE Grad='Zagreb'
OR Dob>18; izvuci cemo iz tablice sve osobe
koje imaju prebivaliste u Zagrebu ili su starije od 18 godina.
Kombiniranje AND i OR operatora Takodjer
je moguce kombinirati operatore AND i OR u jednoj jedinoj naredbi. Na primjer,
ako iz tablice zelimo dobiti popis osoba starijih od 18 godina s prebivalistem
u Zagrebu ili osoba koje su studenti, naredba ce izgledati ovako:
SELECT Ime, Prezime FROM Osobe WHERE Grad='Zagreb' AND Dob>18
OR Zaposlenje='student'; Poredak izvrsavanja
izuzetno je vazan u ovakvim slucajevima. Uvjet s AND operatorom izvrsava se prvi.
Ako se u naredbi koristi i NOT operator, treba imati na umu da on ima vecu "tezinu"
od AND i OR operatora, sto znaci da se uvjet s tim operatorom izvrsava prije ostalih.
U svakom slucaju, uvjet s operatorom OR uvijek se izvrsava posljednji.
Gornja naredba mogla se napisati i ovako: SELECT
Ime, Prezime FROM Osobe WHERE (Grad='Zagreb' AND Dob>18) OR Zaposlenje='student';
Uvjet u zagradama uvijek se izvrsava prvi
bez obzira na operatore koje koristimo u naredbi. Koristenje zagrada moze znacajno
izmijeniti rezultate naredbe. Na primjer, naredbom
SELECT Ime, Prezime FROM Osobe WHERE Grad='Zagreb' AND (Dob>18
OR Zaposlenje='student'); izvuci cemo iz tablice
sve osobe koje su starije od 18 godina, a ujedno su i studenti, a zatim i osobe
cije je prebivaliste u Zagrebu. IN
operator IN operator koristi se za usporedbu
s popisom vise razlicitih vrijednosti. Na primjer, naredbu
SELECT Ime, Prezime FROM Osobe WHERE Grad='Zagreb' OR Grad='Split';
mozemo napisati i ovako:
SELECT Ime, Prezime FROM Osobe WHERE Grad IN ('Zagreb', 'Split');
Rezultat ove naredbe bit ce popis svih osoba iz tablice Osobe cije je prebivaliste
u Zagrebu ili Splitu. Vrijednosti koje provjeravamo navode se u zagradama iza
operatora IN, a medjusobno su odvojene zarezom. IN operator provjerava zadovoljava
li uvjet bilo koju od vrijednosti navedenih u zagradama. LIKE
operator LIKE operatorom provjeravamo
odredjeni uzorak unutar stringa. To znaci da cemo naredbom SELECT
Ime, Prezime FROM Osobe WHERE Prezime LIKE 'M%'; dobiti
popis svih osoba u tablici cije prezime zapocinje slovom M. Znak % predstavlja
0 ili vise slova. Ako zelimo dobiti popis svih osoba cije prezime zavrsava slovom
M, uvjet ce biti '%M'. Ako nas zanima popis osoba kojima je slovo M trece slovo
prezimena, uvjet ce biti '_ _ M%'. Znak '_' oznacava tocno jedno slovo.
BETWEEN operator BETWEEN
operatorom provjeravamo vrijednosti unutar odredjenog raspona. Na primjer, ako
iz tablice zelimo dobiti popis svih osoba starih izmedju 20 i 30 godina, naredba
ce biti SELECT Ime, Prezime FROM
Osobe WHERE Dob BETWEEN 20 AND 30; Operator
BETWEEN ukljucuje i krajnje vrijednosti upita, u ovom slucaju 20 i 30.
NOT operator
NOT operator unarni je operator, odnosno izvrsava samo jedan uvjet. Naredbom
SELECT Ime, Prezime FROM Osobe WHERE Grad NOT IN ('Zagreb','Split');
dobit cemo popis svih osoba iz tablice koje
ne stanuju u Zagrebu ili Splitu. Slicno tome, naredba
SELECT Ime, Prezime FROM Osobe WHERE Dob NOT BETWEEN 20 AND 30;
dat ce nam popis svih osoba iz tablice mladjih
od 20 ili starijih od 30 godina. O autoru: Blanka
Matkovic (buba_shady@yahoo.com)
- Poznatija kao Firewall. Clan je urednistva novog popularno-znanstvenog portala
Geopage (www.geopage.info), a uskoro i ponosni vlasnik IBMcertifikata
E-business Application Developer.
|