Klavzula SQL Where o več pogojih

Klavzula Sql Where O Vec Pogojih



Baze podatkov so pomemben gradnik sodobnih aplikacij. Vendar podatkovne baze hranijo ogromno podatkov. Zato potrebujemo načine za filtriranje podatkov in pridobivanje samo potrebnih zapisov.

Ena najbolj razširjenih metod filtriranja podatkov v SQL je uporaba klavzule WHERE. Klavzula WHERE v SQL nam omogoča filtriranje zapisov glede na dani pogoj. Ta člen lahko poda enega ali več pogojev, ki nam omogočajo filtriranje zapisov, ki jih vrne stavek SELECT.







Ta vadnica raziskuje, kako delati s stavkom WHERE in določiti več pogojev v enem stavku, kar omogoča bolj nadzorovano in natančno filtriranje podatkov.



Osnove klavzule SQL WHERE

Začnimo z osnovami in se naučimo osnov dela s klavzulo WHERE v SQL.



Recimo, da imamo tabelo, ki vsebuje informacije o državi, in pridobimo samo države s prebivalstvom (na kvadratni kilometer), ki je večje od 100 in površino, ki je večja od 2000000.





Poizvedbo lahko izvedemo na naslednji način:

IZBERI * FROM sample_db.country_information
KJE območje > 2.000.000 IN prebivalstvo_na_km_sq > 100 ;


V prejšnjem primeru uporabimo klavzulo WHERE in operator AND, da podamo dva pogoja. Uporaba operatorja IN pove SQL, da MORATA biti izpolnjena oba pogoja, da bo zapis vključen v nabor rezultatov.



To bi moralo vrniti samo države, ki ustrezajo navedenim merilom, kot sledi:


Oglejmo si druge operatorje za podajanje več pogojev v klavzuli WHERE.

Operator SQL ALI

Operator OR nam omogoča, da določimo več pogojev v klavzuli WHERE. Kljub temu za razliko od operatorja IN, ki zahteva, da so izpolnjeni vsi pogoji, operater ALI zahteva, da je izpolnjen vsaj eden od pogojev.

Na primer, če želite izbrati države, katerih površina je večja od 2000000 ali prebivalstvo (na kvadratni kilometer), ki je večje od 100, lahko izvedemo naslednjo poizvedbo:

IZBERI * FROM sample_db.country_information
KJE območje > 2.000.000 ALI prebivalstvo_na_km_sq > 100 ;


V tem primeru mora poizvedba vrniti naslednje rezultate:

Operator SQL IN

Uporabimo lahko tudi operator IN, da določimo več vrednosti za stolpec. Na primer, če želite izbrati države, katerih ime vključuje niza »Združene države« in »Rusija«, lahko izvedemo poizvedbo na naslednji način:

IZBERI * FROM sample_db.country_information
KJE država IN ( 'Združene države' , 'Rusija' ) ;


rezultat:

Operator SQL NOT

Operator NOT nam omogoča zanikanje danega pogoja.

Na primer, izberite države, ki nimajo navedenega območja in priljubljenosti na kvadratni kilometer:

IZBERI * FROM sample_db.country_information
KJE NI območje > 2.000.000 IN prebivalstvo_na_km_sq > 100 ;


rezultat:

Več operaterjev SQL

Prav tako lahko združimo več operatorjev, da podamo bolj zapletene pogoje.

IZBERI * FROM sample_db.country_information
KJE ( informacije o državi.območje > 2.000.000 IN prebivalstvo_na_km_sq > 100 ) ALI država = 'Kitajska' ;


Izhod:


V tem primeru uporabljamo oklepaje za združevanje prvih dveh pogojev, tako da se ocenita kot en sam pogoj, preden ju primerjamo s tretjim pogojem.

Zaključek

Naučili smo se, kako uporabiti klavzulo WHERE za podajanje več pogojev v SQL. Poleg tega smo obravnavali operatorje IN, ALI, IN in NE ter odkrili, kako jih združiti, da ustvarimo bolj zapletene pogoje.