09.05. Operatori u WHERE klauzuli (LIKE, IN, BETWEEN)
1. Uvod – filtriranje podataka u bazi
Kada radimo sa bazom podataka, često nije potrebno prikazati sve podatke, već samo određene zapise koji ispunjavaju neki uslov.
Za to se koristi WHERE klauzula u okviru SELECT naredbe.
Opšti oblik:
SELECT kolone
FROM tabela
WHERE uslov;
Primer:
SELECT *
FROM Ucenici
WHERE Razred = 3;
Prikazuju se samo učenici trećeg razreda.
2. Operator LIKE
Operator LIKE koristi se za pretragu tekstualnih podataka po određenom obrascu (šablonu).
Najčešće se koristi kada želimo da pronađemo podatke koji:
-
počinju određenim slovom
-
završavaju se određenim slovom
-
sadrže određeni tekst
Džoker znakovi
% (procenat)
Predstavlja bilo koji broj znakova.
Primer: prezime počinje slovom A:
SELECT *
FROM Ucenici
WHERE Prezime LIKE 'A%';
Značenje:
-
prvo slovo mora biti A
-
nakon toga može stajati bilo šta
Prezime završava se na „ić”
SELECT *
FROM Ucenici
WHERE Prezime LIKE '%ić';
Značenje:
-
pre „ić” može biti bilo koji tekst
-
prezime mora da se završava na „ić”
Primer rezultata:
-
Petrović
-
Marković
-
Jovanović
Prezime sadrži „ov”
SELECT *
FROM Ucenici
WHERE Prezime LIKE '%ov%';
Biće pronađena prezimena koja u sebi imaju „ov”.
Primer:
-
Jovanović
-
Novaković
3. Operator IN
Operator IN koristi se kada želimo da proverimo da li se vrednost nalazi u određenoj listi.
Primer:
Prikaz učenika iz odeljenja I1, I2 i I3:
SELECT *
FROM Ucenici
WHERE Odeljenje IN ('I1', 'I2', 'I3');
Umesto:
WHERE Odeljenje = 'I1'
OR Odeljenje = 'I2'
OR Odeljenje = 'I3'
Operator IN skraćuje pisanje uslova.
Kada se koristi?
-
kada postoji više mogućih vrednosti
-
kada želimo pregledniji kod
4. Operator BETWEEN
Operator BETWEEN koristi se za zadavanje opsega vrednosti.
Najčešće se koristi kod:
-
brojeva
-
datuma
-
ocena
-
cena
Primer: učenici starosti od 15 do 18 godina
SELECT *
FROM Ucenici
WHERE Godine BETWEEN 15 AND 18;
Biće prikazani svi učenici između 15 i 18 godina uključujući granične vrednosti.
Primer: ocene od 3 do 5
SELECT *
FROM Ocene
WHERE Ocena BETWEEN 3 AND 5;
| Operator | Namena | Primer |
|---|---|---|
| LIKE | Pretraga teksta po obrascu | Prezime LIKE 'A%' |
| IN | Provera da li je vrednost u listi | Razred IN (1,2,3) |
| BETWEEN | Opseg vrednosti | Ocena BETWEEN 3 AND 5 |
Pravilo za lakše pamćenje:
-
LIKE → tekst i šabloni
-
IN → lista vrednosti
-
BETWEEN → raspon (od–do)