SQL Where klausel mitme tingimuse kohta

Sql Where Klausel Mitme Tingimuse Kohta



Andmebaasid on tänapäevaste rakenduste oluline ehitusplokk. Andmebaasid salvestavad aga tohutul hulgal andmeid. Seetõttu vajame võimalusi andmete välja filtreerimiseks ja ainult vajalike kirjete toomiseks.

Üks SQL-i levinumaid andmete filtreerimise meetodeid on WHERE-klausli kasutamine. WHERE-klausel SQL-is võimaldab meil kirjeid teatud tingimuse alusel filtreerida. See klausel võib määrata ühe või mitu tingimust, mis võimaldab meil filtreerida SELECT-lause tagastatud kirjeid.







See õpetus uurib, kuidas töötada WHERE-klausliga ja määrata mitu tingimust ühes klauslis, mis võimaldab paremini kontrollitud ja detailsemat andmete filtreerimist.



SQL WHERE klausli põhitõed

Alustame põhitõdedest ja õpime SQL-i WHERE-klausliga töötamise põhialuseid.



Oletame, et meil on tabel, mis sisaldab riigiteavet, ja toome ainult riigid, mille rahvaarv (ruutkilomeetri kohta) on suurem kui 100 ja pindala on suurem kui 2000000.





Saame päringu käivitada järgmiselt:

VALI * FROM sample_db.country_information
KUS piirkond > 2 000 000 JA elanikkond_km_ruutmeetri kohta > 100 ;


Eelmises näites kasutame kahe tingimuse määramiseks WHERE-klauslit ja operaatorit AND. Operaatori AND kasutamine ütleb SQL-ile, et kirje kaasamiseks tulemuskomplekti PEAVAD olema täidetud mõlemad tingimused.



See peaks tagastama ainult riigid, mis vastavad järgmistele määratud kriteeriumidele:


Vaatame teisi operaatoreid, et määrata WHERE-klauslis mitu tingimust.

SQL VÕI operaator

Operaator OR võimaldab meil WHERE-klauslis määrata mitu tingimust. Siiski, erinevalt JA-operaatorist, mis nõuab kõigi tingimuste täitmist, nõuab operaator VÕI, et vähemalt üks tingimus oleks täidetud.

Näiteks riikide valimiseks, mille pindala on suurem kui 2000000 või rahvaarv (ruutkilomeetri kohta) on suurem kui 100, saame käivitada järgmise päringu:

VALI * FROM sample_db.country_information
KUS piirkond > 2 000 000 VÕI elanikkond_km_ruutmeetri kohta > 100 ;


Sel juhul peaks päring tagastama järgmised tulemused:

SQL IN operaator

Samuti saame kasutada operaatorit IN veeru mitme väärtuse määramiseks. Näiteks riikide valimiseks, mille nimi sisaldab stringe 'Ameerika Ühendriigid' ja 'Venemaa', saame päringu käivitada järgmiselt.

VALI * FROM sample_db.country_information
KUS riik ( 'Ühendriigid' , 'Venemaa' ) ;


Tulemus:

SQL EI OLE operaator

Operaator NOT võimaldab meil antud tingimuse eitada.

Näiteks valige riigid, millel pole määratud pindala ja mis on populaarsed ruutkilomeetri kohta:

VALI * FROM sample_db.country_information
KUS POLE ala > 2 000 000 JA elanikkond_km_ruutmeetri kohta > 100 ;


Tulemus:

SQL mitu operaatorit

Samuti saame kombineerida mitut operaatorit keerukamate tingimuste täpsustamiseks.

VALI * FROM sample_db.country_information
KUS ( country_information.area > 2 000 000 JA elanikkond_km_ruutmeetri kohta > 100 ) VÕI riik = 'Hiina' ;


Väljund:


Selles näites kasutame kahe esimese tingimuse rühmitamiseks sulgusid, nii et neid hinnatakse enne kolmanda tingimusega võrdlemist ühe tingimusena.

Järeldus

Õppisime, kuidas kasutada WHERE-klauslit SQL-is mitme tingimuse määramiseks. Lisaks käsitlesime operaatoreid AND, OR, IN ja NOT ning avastasime, kuidas neid keerukamate tingimuste loomiseks kombineerida.