SQL - WHERE klauzula


Odabir zapisa na osnovu uslova

U prethodnoj lekciji naučili ste kako dohvatiti sve zapise iz tabele ili kolone tabele, ali u stvarnom scenariju uopšteno trebamo odabrati, ažurirati ili izbrisati samo one zapise koji ispunjavaju određeni uslove, poput korisnika koji pripadaju određenoj starosnoj grupi, zemlji i slično. Klauzula WHERE upotrebljava se sa SELECT, UPDATE i DELETE izjavama. Međutim, vidjećete upoređivanje ove klauzule s drugim izjavama u narednim lekcijama.



Sintaksa

Klauzula WHERE koristi se sa SELECT izjavom za izdvajanje samo onih zapisa koji ispunjavaju određene uslove. Osnovna sintaksa može se napisati kao:

SELECT column_list FROM table_name WHERE condition;

Ovdje su column_list imena kolona/polja poput imena, starosti, zemlje itd. tabele baze podataka čije vrijednosti želite dohvatiti. Međutim, ako želite dohvatiti vrijednosti svih kolona dostupnih u tabeli, možete upotrijebiti sljedeću sintaksu:

SELECT * FROM table_name WHERE condition;

Sada, pogledajmo nekoliko primjera koji pokazuju kako to zapravo djeluje. Pretpostavimo da u našoj bazi imamo tabelu employees sa sljedećim zapisima:




Filtrirajte zapise WHERE klauzule

Sljedeća SQL izjava vraća sve employees iz tabele employees čija je plata veća od 7000. Klauzula WHERE jednostavno filtrirala neželjene podatke.

SELECT * FROM employees
WHERE salary > 7000;

Nakon izvršenja, izlaz će izgledati ovako:



Kao što vidite, rezultat sadrži samo one zaposlene čija je plata veća od 7000. Slično tome, možete preuzeti zapise iz određenih kolona, kao što je ovaj:

SELECT emp_id, emp_name, hire_date, salary
FROM employees
WHERE salary > 7000;

Nakon izvršenja gornje izjave, dobićete ovakav izlaz:



Sljedeća izjava donijeće evidenciju zaposlenih čiji je employee id 2.

SELECT * FROM employees
WHERE emp_id = 2;

Ova izjava će prikazati sljedeći rezultat:



Ovog puta imamo samo jedan red u rezultatu, jer emp_id je jedinstven za svakog zaposlenog.



Operateri dozvoljeni u WHERE klauzule

SQL podržava niz različitih operatora koji se mogu koristiti u klauzuli WHERE, najvažniji su sažeti u sljedećoj tabeli.

Operator Opis Primjer
= Jednako WHERE id = 2
> Veće od WHERE age > 30
< Manje od WHERE age < 18
>= Veće ili jednako WHERE rating >= 4
<= Manje ili jednako WHERE price <= 100
LIKE Jednostano podudaranje uzoraka WHERE name LIKE 'Dav'
IN Provjerite odgovara li određena vrijednost bilo kojoj vrijednosti na popisu ili podupitu WHERE country IN ('USA', 'UK')
BETWEEN Provjerite da li je navedena vrijednost unutar raspona vrijednosti. WHERE rating BETWEEN 3 AND 5