You are on page 1of 3

LIKE operator

LIKE operator se koristi za pretraživanje vrijednosti kolona ili stringovnih konstanti kada
se ne poznaju egzaktne vrijednosti kolona nad kojima se vrši pretraživanje. Dakle za
slučaj operatora „=“ vrši se povezivanje, odnosno pretraživanje, poredbene vrijednosti i
vrijednosti za upoređevanje 1:1, dok se kod LIKE operatora najčešće traži string ili niz
stringova koji postoje u poredbenoj vrijednosti.

Kod sastavljanja stringa LIKE operatora za poređenje postoje dva predefinisana karaktera i
to:

% - mijenja sekvencu 0 ili više karaktera


_ - mijenja tačno jedan karakter.

Tako na primjer pretpostavimo da je potrebno napisati upit koji će prikazati sve zaposlene
čiji ime počinje sa slovom A.

SELECT first_name
FROM employees
WHERE first_name LIKE 'A%';

Potrebno napisati upit koji će prikazati sve zaposlene čiji ime sadrži slovo A na drugom i na
četvrtom mjestu u svom nazivu.

SELECT first_name
FROM employees
WHERE first_name LIKE '_a_a%';

Sljedeći je primjer, kada je potrebno napisati upit koji će prikazati sve zaposlene čije ime
sadrži na bilo kom mjesto slovo L i ime se završava sa slovom A.

SELECT first_name
FROM employees
WHERE first_name LIKE '%l%a';

BETWEEN, < (manje), > (veće) operatori

Between je operator koji se koristi za poređenje neke vrijednosti kolone u zadanom rasponu
najmanje i najveće vrijednosti.

Na primjer predpostavimo da je potrebno izlistati sve one zaposlene koji dobivaju plata
između 3000 i 5000 KM-ova.

SELECT first_name, last_name


FROM employees
WHERE salary BETWEEN 3000 AND 5000;
Kreirati upit koji će izlistati sve zaposlene koji imaju platu manju od 3000 KM soritirane po
plati u rastućem poretku.

SELECT first_name, last_name, salary


FROM employees
WHERE salary < 3000
ORDER BY salary ASC;

Kreirati upit koji će izlistati sve zaposlene koji imaju platu veću ili jednako 6000 KM sortirane
po plati u opadajućem poretku.

SELECT first_name, last_name, salary


FROM employees
WHERE salary >= 6000
ORDER BY salary DESC;

IS NULL operator

Poređenje null vrijednosti u bazi podataka ne može se ostvariti preko operatora „=“,
nego preko ključnih riječi IS NULL ili IS NOT NULL.

Tako na primjer ako trebamo izlistati sve zaposlene koji ne dobivaju dodatak na platu upit bi
izgledao kao u primjeru ispod.

SELECT first_name, last_name, commission_pct


FROM employees
WHERE commission_pct IS NULL;

Ili ukoliko želimo da izlistamo sve one uposlenike koji dobivaju dodatak na platu upit bi
izgledao ovako.

SELECT first_name, last_name, commission_pct


FROM employees
WHERE commission_pct IS NOT NULL;

Zadaci za vježbu

1. Napisati upit koji će prikazati naziv zaposlenog i platu za sve zaposlene koji imaju
platu veću od 2450 KM-ova.

2. Napisati upit koji će prikazati ime, prezime, platu svih zaposlenenih čija plata nije u
rangu od 3000 do 7000 KM-ova sortirano po plati u rastućem poretku.
3. Napisati upit koji će prikazati ime i prezime zaposlenog (predstavljeno kao jedna
kolona) „Zaposleni“ te posao i datum zaposlenja za sve zaposlene koji su počeli da
rade u periodu od 10.01.1995 do 22.02.1998 (format datuma je 'YYYY-MM-DD' npr.
'1999-05-27') sortirano po datumu zaposlenja u rastućem poretku.

4. Napisati upit koji će prikazati ime, prezime, datum zaposlenja za sve radnike koji su
počeli da rade prije 1998 godine sortirano po datumu zaposlenja u opadajućem
poretku.

5. Napisati upit koji će prikazati ime, prezime, platu i id_posla zaposlenog za sve
zaposlene koji nemaju nadređenog (nemaju menadžera).

6. Napisati upit koji će prikazati naziv zaposlenog, platu i dodatak na platu


(commission_pct) za sve one zaposlene koji su stekli dodatak na platu. Sortirati
podatke u opadajućem poretku po dodatku na platu.

7. Napisati upit koji će prikazati ime i prezime zaposlenog za sve one zaposlene koji
imaju slovo „A“ na prvom i trećem mjestu u imenu.

8. Napisati upit koji će prikazati ime i prezime zaposlenog za sve one zaposlene čije
prezime završava na slovo „T“.

You might also like