Uvod u klauzulu GDJE
Kao što svi znamo da je SQL (strukturirani upitni jezik) jedan od najčešće korištenih jezika za relacijske baze podataka (baza podataka u koju se zapisi spremaju u obliku redaka i stupaca). U SQL upitima se pokreće baza podataka za izvođenje željenih operacija bilo da su to DML (jezik upravljanja podacima), DDL (jezik definicije podataka) ili DCL (jezik kontrole podataka). SQL koristi neke klauzule poput WHERE, GROUP BY, HAVING, ORDER BY koje izvode određene operacije. Odredba WHERE upotrebljava se za primjenu uvjeta i filtriranje rezultata tijekom preuzimanja ili manipulacije bilo kojim podacima iz baze podataka. Koristi se s naredbom SELECT, UPDATE i DELETE, a klauzula GDJE se ne može koristiti s njima.
Općenito, pojmovi GDJE klauzula,
- Koristi se za filtriranje redaka prema zadanim kriterijima.
- Ograničava broj vraćenih redaka.
- Nakon čega slijedi logično stanje koje vraća istinito ili lažno.
- Djeluje samo ako se navedeni uvjet vrati istinitim.
- Može se koristiti s izjavama SELECT, UPDATE ili DELETE.
1. Sintaksa sa SELECT
SELECT column1, column2, column3… from table_name WHERE condition;
Ovdje SELECT dohvaća sve podatke stupca1, stupca2, stupca3 iz tablice (nazvanih kao naziv tablice), a klauzula WHERE primjenjuje uvjete na podatke dohvaćene izjavom SELECT i filtrira ih u skladu s uvjetom navedenim u izjavi.
2. Sintaksa sa UPDATE
UPDATE table_name SET column_name = value WHERE condition;
Ovdje će Ažuriranje ažurirati vrijednost za naziv stupca s navedenim uvjetom.
Operatori za usporedbu i logički se operateri također mogu koristiti s uvjetima WHERE poput i, ili, ne, LIKE, <, = itd.
3. Sintaksa sa DELETE
DELETE from table_name WHERE condition;
U gornjoj sintaksi:
table_name | Naziv tablice na kojoj je potrebno izvesti operacije. |
stanje | Određuje stanje filtra po kojem je potrebno filtrirati zapise |
column_list | Naziv stupaca tablice |
Primjeri
Razmotrite tablicu učenika s različitim stupcima i vrijednostima navedenim u nastavku:
Stu_id | Stu_name | Stu_address | Stu_phno | Stu_percentage |
1 | Rahul | Agra | 9557806625 | 85 |
2 | Ankit | Delhi | 8855664471 | 75 |
3 | Shailendra | Noida | 7213457896 | 92 |
Scenarij br. 1
Dohvatite ID učenika, ime studenta, adresu i postotak svih onih učenika koji su postigli više od 80 posto.
pitanje
SELECT Stu_id, Stu_name, Stu_address from students WHERE Stu_percentage > 80;
Proizlaziti:
Broj zapisa: 2
Stu_id | Stu_name | Stu_address | Stu_percentage |
1 | Rahul | Agra | 85 |
3 | Shailendra | Noida | 92 |
Scenarij br. 2
Ažurirajte postotak Rahula za 2 posto.
pitanje
UPDATE students SET Stu_percentage = Stu_percentage+2 WHERE Stu_name ='Rahul';
Proizlaziti:
Povezani redovi: 1
Ako smo pritisnuli upit za pregled ažuriranih polja:
pitanje
SELECT * from students WHERE Stu_name ='Rahul';
Proizlaziti:
Broj zapisa: 1
Stu_id | Stu_name | Stu_address | Stu_percentage |
1 | Rahul | Agra | 87 |
Scenarij br. 3
Učenik Ankit napustio je školu, pa izbriši čitav zapis o njemu sa stola.
pitanje
DELETE from students WHERE Stu_name = 'Ankit';
Proizlaziti:
Povezani redovi: 1
Da biste pogledali ažurirani student tablice:
pitanje
SELECT * from students;
Proizlaziti:
Povezani redovi: 2
Stu_id | Stu_name | Stu_address | Stu_phno | Stu_percenta ge |
1 | Rahul | Agra | 9557806625 | 87 |
3 | Shailendra | Noida | 7213457896 | 92 |
GDJE klauzula Operacije
Odredba WHERE sadrži uvjete po kojima se vrijednosti baze podataka filtriraju. Različiti operatori mogu se koristiti s odredbom WHERE. Neki su u nastavku navedeni u tablici s primjerom:
S.No. | Operater | Opis | Primjer |
1. | I | Vraća true ako oba uvjeta odgovaraju | ODABIR * od studenata GDJE Stu_name = 'Rahul' i Stu_percentage = 85; |
2. | ILI | Vraća true ako je bilo koji od
stanje odgovara | ODABIR * od studenata GDJE Stu_name = 'Rahul' ili Stu_name = 'Shalendra'; |
3. | U | Vrijednost odgovara bilo kojoj od više navedenih vrijednosti | ODABIR * od studenata GDJE Stu_city IN ('AGRA', 'NOIDA'); |
4. | NE U | Vrijednost ne odgovara nijednoj od navedenih više vrijednosti | ODABIR * od studenata GDJE Stu_city NOT IN ('AGRA', 'NOIDA'); |
5. | = | Jednak | ODABIR * od studenata GDJE
Stu_name = 'Rahul'; |
6. | > | Više nego | ODABIR * od studenata GDJE Stu_percentage> 80; |
7. | < | Manje od | ODABIR * od studenata GDJE Stu_percentage <78; |
8. | > = | Veći ili jednaki | ODABIR * od studenata GDJE Stu_percenetage> = 70; |
9. | < | Manje od ili jednako | ODABIR * od studenata GDJE Stu_percenetage <= 70; |
10. | Nije jednako | ODABIR * od studenata GDJE Stu_percentage 75; | |
11. | IZMEĐU | Vrijednost leži između određenog raspona | ODABIR * od studenata GDJE
Stu_percenttage IZMEĐU 70 I 85; |
12. | KAO | Vrijednosti odgovaraju određenom obrascu. Koristi se za pretraživanje zamjenskih znakova | ODABIR * od studenata GDJE Stu_city LIKE 'AG%'; |
Napomena: Imate na umu jednu stvar pri radu s klauzulom GDJE je da se pri specificiranju uvjeta numeričke vrijednosti ne navode u jednim navodnicima ('') dok tekstualne vrijednosti (varchar) moraju biti citirane u jednom citati (' ').
Kako Clause WHERE djeluje u SQL-u?
Iako gornji primjeri jasno pokazuju kako se rečenica WHERE upotrebljava za filtriranje podataka prema stanju koji je odredio korisnik i omogućava brže izvršavanje SQL koda jer je broj vraćenih zapisa uvjet ograničen. SQL Query Optimizator prvo radi na upitu pomoću FROM (tablice na kojoj se operacija mora izvesti) da bi dohvatio, izbrisao ili ažurirao, a zatim primijenite klauzulu WHERE na rezultate.
GDJE se klauzula može upotrijebiti samo kada trebamo filtrirati rezultate u jednoj tablici ili spajanju tablica jer djeluje na podatke o redovima, ali kad se u slučaju funkcija združivanja, GDJE se ne može koristiti za primjenu uvjeta na upit.
Razmotrimo scenarij u kojem se rečenica GDJE ne može upotrijebiti:
Scenarij: U tablici 'filmova' potražite sve detalje filmova koji u određenim godinama zarade više od 10 crores (2000, 2010, 2012..etc)
upita:
SELECT * from movies GROUP BY Year_released HAVING earnings > 10;
Gornji primjer koristi klauzu HAVING umjesto WHERE, jer se WHERE klauzula ne može upotrijebiti u skupnim funkcijama, dok HAVING može, a to je ujedno i jedna od glavnih razlika između WHERE i HAVING klauzule
Zaključak - SQL GDJE klauzula
Gore obrazloženje jasno pokazuje upotrebu WHERE klase i njezinu implementaciju za različite scenarije u SQL upitima. Prije pisanja bilo kojeg upita, morate imati na umu upotrebu svake klauzule i scenarij u kojem se ta odredba ili ključna riječ trebaju koristiti.
Preporučeni članci
Ovo je vodič za klauzulu SQL WHERE. Ovdje raspravljamo o upotrebi klase WHERE i njezinoj primjeni za različite scenarije. Možete i pregledati naše druge predložene članke -
- Vrste pridruživanja u SQL-u
- Zamjenski znakovi u MySQL-u
- SQL upit za umetanje
- Strani ključ u SQL-u
- Top 6 vrsta pridruživanja u MySQL-u s primjerima