SQL Where-klausul om flere betingelser

Sql Where Klausul Om Flere Betingelser



Databaser er en væsentlig byggesten i moderne applikationer. Databaser gemmer dog en enorm mængde data. Derfor har vi brug for måder at filtrere dataene fra og kun hente de nødvendige poster.

En af SQLs mest udbredte datafiltreringsmetoder er at bruge WHERE-sætningen. WHERE-sætningen i SQL giver os mulighed for at filtrere posterne baseret på en given betingelse. Denne klausul kan specificere en eller flere betingelser, som tillader os at filtrere de poster, der returneres af en SELECT-sætning.







Denne vejledning undersøger, hvordan man arbejder med WHERE-sætningen og specificerer de flere betingelser i en enkelt klausul, som giver mulighed for mere kontrolleret og granulær datafiltrering.



Grundlæggende om SQL WHERE-klausul

Lad os starte med det grundlæggende og lære det grundlæggende i arbejdet med WHERE-sætningen i SQL.



Antag, at vi har en tabel, som indeholder landeoplysningerne, og vi henter kun de lande med en befolkning (pr. kvadratkilometer), der er større end 100 og et areal, der er større end 2000000.





Vi kan køre en forespørgsel som følger:

VÆLG * FRA sample_db.country_information
HVOR område > 2.000.000 OG befolkning_per_km_sq > 100 ;


I det foregående eksempel bruger vi WHERE-sætningen og AND-operatoren til at specificere to betingelser. Brug af AND-operatoren fortæller SQL, at begge betingelser SKAL være opfyldt, for at posten kan inkluderes i resultatsættet.



Dette bør kun returnere de lande, der matcher de angivne kriterier som følger:


Lad os se på de andre operatører for at specificere de flere betingelser i en WHERE-klausul.

SQL ELLER operatør

OR-operatoren giver os mulighed for at specificere de flere betingelser i en WHERE-sætning. Alligevel, i modsætning til en AND-operatør, der kræver, at alle betingelserne er opfyldt, kræver OR-operatøren, at mindst én af betingelserne er opfyldt.

For at vælge de lande, der f.eks. har et areal, der er større end 2000000 eller en befolkning (pr. kvadratkilometer), der er større end 100, kan vi køre følgende forespørgsel:

VÆLG * FRA sample_db.country_information
HVOR område > 2.000.000 ELLER population_per_km_sq > 100 ;


I dette tilfælde skal forespørgslen returnere resultaterne som følger:

SQL IN operatør

Vi kan også bruge IN-operatoren til at angive de flere værdier for en kolonne. For at vælge de lande, hvis navn inkluderer strengene 'USA' og 'Rusland', kan vi køre forespørgslen som følger:

VÆLG * FRA sample_db.country_information
HVOR land IN ( 'Forenede Stater' , 'Rusland' ) ;


Resultat:

SQL NOT Operator

NOT-operatoren tillader os at afvise en given betingelse.

Vælg f.eks. de lande, der ikke har det angivne areal og populære pr. kvadratkilometer:

VÆLG * FRA sample_db.country_information
HVOR IKKE område > 2.000.000 OG befolkning_per_km_sq > 100 ;


Resultat:

SQL Multiple Operators

Vi kan også kombinere de flere operatører for at specificere mere komplekse forhold.

VÆLG * FRA sample_db.country_information
HVOR ( country_information.area > 2.000.000 OG befolkning_per_km_sq > 100 ) ELLER land = 'Kina' ;


Produktion:


I dette eksempel bruger vi parenteserne til at gruppere de to første betingelser, så de vurderes som en enkelt betingelse, før de sammenlignes med den tredje betingelse.

Konklusion

Vi lærte, hvordan man bruger WHERE-sætningen til at specificere de flere betingelser i SQL. Derudover dækkede vi AND, OR, IN og NOT operatorerne og opdagede, hvordan man kombinerer dem for at skabe mere komplekse forhold.