SQLWHEREklauzula filtrira retke na temelju jednog ili više uvjeta tako da vaš upit vraća (ili modificira) samo zapise koji odgovaraju. Koristi se za naredbe SELECT UPDATE i DELETE i radi s podacima iz jedne tablice ili iz više tablica nakon spajanja
Primjer: Prvo ćemo stvoriti demo SQL baza podataka i tablica na kojoj ćemo koristiti naredbu WHERE Clause.
Upit:
SELECT Name Department Salary
FROM Employees
WHERE Salary > 50000;
Izlaz:
Sintaksa:
SELECT column1 column2
FROM table_name
WHERE column_name operator value;
- stupac1 stupac2: Stupci koje želite dohvatiti.
- naziv_tablice: Tablica iz koje postavljate upit.
- operater: Logika usporedbe (npr. =< >KAO).
- vrijednost: Vrijednost ili uzorak za filtriranje.
Primjeri WHERE klauzule
Napravit ćemo osnovnu strukturu tablice zaposlenika SQL za izvođenje svih operacija klauzule where.
Upit:
STVARANJE TABLICE Emp1 (
EmpID INT PRIMARNI KLJUČ
Naziv VARCHAR(50)
Država VARCHAR(50)
Dob INT
Mob VARCHAR(15)
);
INSERT INTO Emp1 VRIJEDNOSTI
(1 'Shubham' 'Indija' 23 '738479734')
(2 'Aman' 'Australija' 21 '436789555')
(3 'Naveen' 'Šri Lanka' 24 '34873847')
(4 'Aditya' 'Austrija' 21 '328440934')
(5 'Nishant' 'Španjolska' 22 '73248679');
SELECT * FROM Emp1;
Izlaz:
Primjer 1: Odredba Where s logičkim operatorima
Za dohvaćanje evidencije zaposlenika koji imaju 24 godine.
Upit:
SELECT * FROM Emp1 WHERE Age=24;Izlaz:
Primjer 2: WHERE s operatorima usporedbe
Za dohvaćanje EmpID imena i zemlje zaposlenika starijih od 21 godine.
Upit:
SELECT EmpID Name Country FROM Emp1 WHERE Age > 21;Izlaz:
Primjer 3: Where klauzula s BETWEEN Operater
Operator BETWEEN koristi se za filtriranje zapisa unutar određenog raspona i uključuje početnu i krajnju vrijednost. U ovom primjeru želimo pronaći zaposlenike čija je dob između 22 i 24 godine, uključujući i 22 i 24 godine.
Upit:
SELECT * FROM Emp1
WHERE Age BETWEEN 22 AND 24;
Izlaz:
Primjer 4: Where klauzula s LIKE Operater
Koristi se za dohvaćanje filtriranih podataka traženjem određenog uzorka u klauzuli where. U ovom primjeru želimo pronaći zapise zaposlenika gdje ime počinje slovom. '%' (zamjenski znak) označava kasnije znakove koji mogu biti bilo koje duljine i vrijednosti.
Upit:
SELECT * FROM Emp1 WHERE Name LIKE 'L%'; Izlaz:
Primjer 5: Odredba Where s IN Operater
Koristi se za dohvaćanje filtriranih podataka isto kao što ih dohvaća operator '=' samo je razlika u tome što ovdje možemo navesti više vrijednosti za koje možemo dobiti skup rezultata. Ovdje želimo pronaći imena zaposlenika gdje je dob 21 ili 23 godine.
Upit:
SELECT Name FROM Emp1 WHERE Age IN (2123);Izlaz:
Operatori koji se koriste u WHERE klauzuli
| Operater | Opis |
|---|---|
| > | Veći od |
| >= | Veće ili jednako |
| < | Manje od |
| <= | Manje od ili jednako |
| = | Jednako s |
| <> | Nije jednako |
| IZMEĐU | U inkluzivnom rasponu |
| KAO | Potražite uzorak |
| U | Za navođenje više mogućih vrijednosti za stupac |