Uvod v klavzulo KJE
Kot vsi vemo, je SQL (strukturiran jezik poizvedb) eden najpogosteje uporabljenih jezikov za relacijske baze podatkov (baza podatkov, v kateri se shranjujejo zapisi v obliki vrstic in stolpcev). V SQL se poizvedbe sprožijo v bazo podatkov, da izvedejo želene operacije, bodisi DML (jezik manipulacije podatkov), DDL (jezik opredelitve podatkov) ali DCL (jezik nadzora podatkov). SQL uporablja nekatere klavzule, na primer KJE, SKUPINA PO, HAVING, NAROČILO, ki izvajajo določene operacije. Odločba WHERE se uporablja za določitev pogojev in filtriranje rezultatov, medtem ko pridobiva ali manipulira katere koli podatke iz baze podatkov. Uporablja se z stavkom SELECT, UPDATE in DELETE, tudi klavzula WHERE je neobvezna za uporabo z njimi.
Na splošno pogoji, KJE Klavzula,
- Uporablja se za filtriranje vrstic po danih kriterijih.
- Omeji število vrnjenih vrstic.
- Sledi logični pogoj, ki vrne bodisi resničen bodisi napačen.
- Deluje le, če omenjeni pogoj vrne res.
- Uporablja se lahko za stavke SELECT, UPDATE ali DELETE.
1. Sintaksa s SELECT
SELECT column1, column2, column3… from table_name WHERE condition;
Tu bo SELECT prišel iz tabele (poimenovan kot ime tabele) vse podatke stolpca1, stolpca2, stolpca3 in člen WHERE uporabi pogoje za podatke, ki jih pridobi izjava SELECT, in jih filtrira v skladu s pogojem, navedenim v stavku.
2. Sintaksa z UPDATE
UPDATE table_name SET column_name = value WHERE condition;
Tu bo Update posodobil vrednost za ime stolpca, če je pogoj pod pogojem.
Primerjalni in logični operaterji se lahko uporabljajo tudi s pogojem WHERE, kot je ali, ali ne, LIKE, <, = itd.
3. Sintaksa z DELETE
DELETE from table_name WHERE condition;
V zgornji sintaksi:
ime_tabele | Ime tabele, na kateri je treba izvesti operacije. |
stanje | Določi stanje filtra, po katerem je treba filtrirati zapise |
stolpec_list | Ime stolpcev tabele |
Primeri
Razmislite o tabeli študentov z različnimi stolpci in vrednostmi, navedenimi spodaj:
Stu_id | Stu_name | Stu_address | Stu_phno | Stu_percenttage |
1 | Rahul | Agra | 9557806625 | 85 |
2 | Ankit | Delhi | 8855664471 | 75 |
3 | Shailendra | Noida | 7213457896 | 92 |
Scenarij št. 1
Pridobite ID študenta, ime študenta, naslov in odstotek vseh študentov, ki so dosegli več kot 80 odstotkov.
Poizvedovanje
SELECT Stu_id, Stu_name, Stu_address from students WHERE Stu_percentage > 80;
Rezultat:
Število zapisov: 2
Stu_id | Stu_name | Stu_address | Stu_percenttage |
1 | Rahul | Agra | 85 |
3 | Shailendra | Noida | 92 |
Scenarij št. 2
Posodobite odstotek Rahula za dva odstotka.
Poizvedovanje
UPDATE students SET Stu_percentage = Stu_percentage+2 WHERE Stu_name ='Rahul';
Rezultat:
Prizadete vrstice: 1
Če smo zadeli poizvedbo za ogled posodobljenih polj:
Poizvedovanje
SELECT * from students WHERE Stu_name ='Rahul';
Rezultat:
Število zapisov: 1
Stu_id | Stu_name | Stu_address | Stu_percenttage |
1 | Rahul | Agra | 87 |
Scenarij št. 3
Študent Ankit je zapustil šolo, zato izbriše celoten zapis o njem.
Poizvedovanje
DELETE from students WHERE Stu_name = 'Ankit';
Rezultat:
Prizadete vrstice: 1
Če si želite ogledati posodobljenega študenta tabele:
Poizvedovanje
SELECT * from students;
Rezultat:
Prizadete vrstice: 2
Stu_id | Stu_name | Stu_address | Stu_phno | Stu_percenta ge |
1 | Rahul | Agra | 9557806625 | 87 |
3 | Shailendra | Noida | 7213457896 | 92 |
KJE Klavzula Operacije
Stavka WHERE vsebuje pogoje, po katerih se filtrirajo vrednosti baze podatkov. S klavzulo WHERE se lahko uporabljajo različni operaterji. Nekatere so navedene v spodnji tabeli s primerom:
S. št. | Operater | Opis | Primer |
1. | IN | Vrne res, če se oba pogoja ujemata | IZBERI * od študentov WHERE Stu_name = 'Rahul' in Stu_percentage = 85; |
2 | ALI | Vrne resnico, če kateri koli od
kondicijska tekmo | IZBERI * od študentov WHERE Stu_name = 'Rahul' ali Stu_name = 'Shalendra'; |
3. | IN | Vrednost se ujema s katero koli od navedenih več vrednosti | IZBERI * od študentov KJE Stu_city IN ('AGRA', 'NOIDA'); |
4. | NI NOTRI | Vrednost se ne ujema z nobeno od določenih več vrednosti | IZBERI * od študentov, KJE Stu_city NE V ("AGRA", "NOIDA"); |
5. | = | Enako | IZBERITE * od študentov KJE
Stu_name = 'Rahul'; |
6. | > | Večji kot | IZBERI * od študentov KJE Stu_percentage> 80; |
7. | < | Manj kot | IZBERI * od študentov KJE Stu_percentage <78; |
8. | > = | Večja ali enaka | IZBERI * od študentov KJE Stu_percenetage> = 70; |
9. | <= | Manj kot ali enako | IZBERI * od študentov KJE Stu_percenetage <= 70; |
10. | Ni enako | IZBERI * od študentov KJE Stu_percentage 75; | |
11. | MED MED | Vrednost je med določenim razponom | IZBERITE * od študentov KJE
Stu_percenta MED 70 IN 85; |
12. | LIKE | Vrednosti ustrezajo določenemu vzorcu. Uporablja se za iskanje nadomestnih znakov | IZBERI * od študentov KJE Stu_city Všeč 'AG%'; |
Opomba: Pri delu s klavzulo WHERE je treba upoštevati eno stvar, da se ob določitvi pogoja numerične vrednosti ne navedejo v enem samem narekovaju (''), medtem ko je treba besedilne vrednosti (varchar) navesti v enem samem narekovaji ('').
Kako deluje klavzula WHERE v SQL?
Čeprav zgornji primeri jasno kažejo, kako se člen WHERE uporablja za filtriranje podatkov v skladu s pogojem, ki ga določi uporabnik, in omogoča hitrejšo izvedbo kode SQL, saj je število vrnjenih zapisov omejeno s pogojem. SQL optimizator poizvedb najprej deluje na poizvedbi s pomočjo FROM (tabela, v kateri je treba izvesti operacijo), da prikliče, izbriše ali posodobi in nato za rezultate uporabi klavzulo WHERE.
Kjer je mogoče klavzulo WHERE filtrirati rezultate v eno samo tabelo ali združevanje tabel, ko deluje na podatkih vrstic, kadar pa v primeru funkcij združevanja WHERE ni mogoče uporabiti za uporabo pogojev za poizvedbo.
Razmislimo o scenariju, pri katerem določbe WHERE ni mogoče uporabiti:
Scenarij: V tabeli s filmi pridobite vse podrobnosti o filmih, ki v določenih letih zaslužijo več kot 10 kron (2000, 2010, 2012..etc)
Poizvedba:
SELECT * from movies GROUP BY Year_released HAVING earnings > 10;
Zgornji primer uporablja klavzulo HAVING namesto WHERE, ker točke WHERE ni mogoče uporabiti v združenih funkcijah, medtem ko HAVING lahko, in to je tudi ena od glavnih razlik med klavzulo WHERE in HAVING
Sklep - odstavek SQL WHERE
Zgornja razlaga jasno prikazuje uporabo klavzule WHERE in njeno izvajanje za različne scenarije v poizvedbah SQL. Preden napišete poizvedbo, morate upoštevati uporabo vsake klavzule in scenarij, v katerem je treba uporabiti to določbo ali ključno besedo.
Priporočeni članki
To je vodnik za klavzulo SQL WHERE. Tukaj razpravljamo o uporabi klavzule WHERE in njenem izvajanju za različne scenarije. Ogledate si lahko tudi druge naše predlagane članke -
- Vrste združitev v SQL
- Zelene kartice v MySQL
- Poizvedba za vstavljanje SQL
- Tuji ključ v SQL
- Prvih 6 vrst združitev v MySQL s primeri