SQL Where-klausul om flere betingelser

Sql Where Klausul Om Flere Betingelser



Databaser er en betydelig byggestein i moderne applikasjoner. Imidlertid lagrer databaser en enorm mengde data. Derfor trenger vi måter å filtrere ut dataene og bare hente de nødvendige postene.

En av SQLs mest utbredte datafiltreringsmetoder er å bruke WHERE-klausulen. WHERE-leddet i SQL lar oss filtrere postene basert på en gitt betingelse. Denne klausulen kan spesifisere en eller flere betingelser som lar oss filtrere postene som returneres av en SELECT-setning.







Denne opplæringen utforsker hvordan du kan jobbe med WHERE-leddet og spesifisere de flere betingelsene i en enkelt klausul som tillater mer kontrollert og granulær datafiltrering.



Grunnleggende om SQL WHERE-klausul

La oss starte med det grunnleggende og lære det grunnleggende om å jobbe med WHERE-klausulen i SQL.



Anta at vi har en tabell som inneholder landinformasjonen, og vi henter bare landene med en befolkning (per kvadratkilometer) som er større enn 100 og et område som er større enn 2000000.





Vi kan kjøre en spørring som følger:

PLUKKE UT * FRA sample_db.country_information
HVOR område > 2 000 000 OG befolkning_per_km_sq > 100 ;


I forrige eksempel bruker vi WHERE-leddet og AND-operatoren for å spesifisere to forhold. Bruk av AND-operatoren forteller SQL at begge betingelsene MÅ være oppfylt for at posten skal inkluderes i resultatsettet.



Dette skal bare returnere landene som samsvarer med de angitte kriteriene som følger:


La oss se på de andre operatørene for å spesifisere de flere betingelsene i en WHERE-klausul.

SQL ELLER operatør

OR-operatoren lar oss spesifisere de flere betingelsene i en WHERE-klausul. Likevel, i motsetning til en AND-operatør som krever at alle betingelsene er oppfylt, krever OR-operatøren at minst én av betingelsene er oppfylt.

For for eksempel å velge landene som har et område som er større enn 2000000 eller en befolkning (per kvadratkilometer) som er større enn 100, kan vi kjøre følgende spørring:

PLUKKE UT * FRA sample_db.country_information
HVOR område > 2 000 000 ELLER befolkning_per_km_sq > 100 ;


I dette tilfellet skal spørringen returnere resultatene som følger:

SQL IN-operatør

Vi kan også bruke IN-operatoren til å spesifisere flere verdier for en kolonne. For for eksempel å velge landene hvis navn inkluderer 'USA'- og 'Russland'-strengene, kan vi kjøre spørringen som følger:

PLUKKE UT * FRA sample_db.country_information
HVOR landet IN ( 'Forente stater' , 'Russland' ) ;


Resultat:

SQL NOT Operator

NOT-operatoren lar oss negere en gitt betingelse.

Velg for eksempel landene som ikke har det spesifiserte området og populært per kvadratkilometer:

PLUKKE UT * FRA sample_db.country_information
HVOR IKKE område > 2 000 000 OG befolkning_per_km_sq > 100 ;


Resultat:

SQL flere operatører

Vi kan også kombinere de flere operatørene for å spesifisere mer komplekse forhold.

PLUKKE UT * FRA sample_db.country_information
HVOR ( country_information.area > 2 000 000 OG befolkning_per_km_sq > 100 ) ELLER land = 'Kina' ;


Produksjon:


I dette eksemplet bruker vi parentesene til å gruppere de to første betingelsene slik at de blir evaluert som en enkelt betingelse før de sammenlignes med den tredje betingelsen.

Konklusjon

Vi lærte hvordan du bruker WHERE-leddet til å spesifisere de flere betingelsene i SQL. I tillegg dekket vi AND, OR, IN og NOT-operatørene og oppdaget hvordan vi kunne kombinere dem for å skape mer komplekse forhold.