Velg Data innenfor områder i SQL

click fraud protection

De Structured Query Language (SQL) gir databasebrukere muligheten til å lage tilpassede spørsmål for å hente ut informasjon fra databaser. I en tidligere artikkel utforsket vi å hente ut informasjon fra en database ved hjelp av SQL SELECT-spørsmål. La oss utvide den diskusjonen og utforske hvordan du kan utføre avanserte spørsmål for å hente data som samsvarer med spesifikke forhold.

La oss vurdere et eksempel basert på det vanlige Nord vind database, som ofte sendes med databaseprodukter som en veiledning.

Her er et utdrag fra databasens produkttabell:

Produkt ID Produktnavn Leverandør-ID MengdePerUnit Enhetspris EnheterInStock
1 Chai 1 10 esker x 20 poser 18.00 39
2 Chang 1 24 - 12 oz flasker 19.00 17
3 Anisfrø sirup 1 12 - 550 ml flasker 10.00 13
4 Kokk Anton's Cajun-krydder 2 48 - 6 oz krukker 22.00 53
5 Kokk Anton's Gumbo Mix 2 36 bokser 21.35 0
6 Bestemors Boysenbær-pålegg 3 12 - 8 oz krukker 25.00 120
7 Onkel Bobs organiske tørkede pærer 3 12 - 1 lb pkgs. 30.00 15
Produkt Tabell

Enkle grensevilkår

De første begrensningene vi legger inn på spørringen vår, innebærer enkle grensevilkår. Vi kan spesifisere disse i WHERE-setningen i SELECT-spørringen ved å bruke enkle tilstandssetninger konstruert med standardoperatører, for eksempel ,> = og <=.

instagram viewer

La oss først prøve et enkelt spørsmål som lar oss trekke ut en liste over alle produktene i databasen som har en enhetspris på mer enn 20.00:

VELG Produktnavn, Enhetspris
FRA produkter
HVOR UnitPrice> 20.00

Dette gir en liste over fire produkter, som vist nedenfor:

Produktnavn Enhetspris

Kokk Anton's Gumbo Mix 21.35
Kokk Anton's Cajun-krydder 22.00
Bestemors Boysenbær-pålegg 25.00
Onkel Bobs organiske tørkede pærer 30.00

Vi kan også bruke WHERE-setningen med strengverdier. Dette tilsvarer i utgangspunktet tegn til tall, med A som representerer verdien 1 og Z som representerer verdien 26. For eksempel kan vi vise alle produkter med navn som begynner med U, V, W, X, Y eller Z med følgende spørsmål:

VELG Produktnavn
FRA produkter
WHERE ProductName> = 'T'

Som gir resultatet:

Produktnavn

Onkel Bobs organiske tørkede pærer

Uttrykk av områder ved bruk av grenser

WHERE-klausulen lar oss også implementere en rekkevidde på en verdi ved å bruke flere forhold. Hvis vi for eksempel ønsker å ta forespørselen vår ovenfor og begrense resultatene til produkter med priser mellom 15.00 og 20.00, kan vi bruke følgende spørsmål:

VELG Produktnavn, Enhetspris
FRA produkter
HVOR UnitPrice> 15.00 AND UnitPrice <20.00

Dette gir resultatet vist nedenfor:

Produktnavn Enhetspris

Chai 18.00
Chang 19.00

Å uttrykke områder med MELLOM

SQL gir også en snarvei MELLOM syntaksen som reduserer antall forhold som vi trenger å inkludere og gjør spørringen mer lesbar. For eksempel, i stedet for å bruke de to WHERE-forholdene ovenfor, kan vi uttrykke samme spørsmål som:

VELG Produktnavn, Enhetspris
FRA produkter
HVOR UnitPris MELLOM 15.00 OG 20.00

Som med de andre klausulene våre, fungerer BETWEEN også med strengverdier. Hvis vi ønsket å lage en liste over alle land som begynner med V, W eller X, kan vi bruke spørringen:

VELG Produktnavn
FRA produkter
HVOR Produktnavn MELLOM "A" og "D"

Som gir resultatet:

Produktnavn

Anisfrø sirup
Chai
Chang
Kokk Anton's Gumbo Mix
Kokk Anton's Cajun-krydder

WHERE-setningen er en kraftig del av SQL-språket som lar deg begrense resultatene til verdier som faller innenfor angitte områder. Det brukes veldig ofte til å uttrykke forretningslogikk og bør være en del av hver databaseprofesjonals verktøysett. Det er ofte nyttig å innlemme vanlige klausuler i en lagret prosedyre for å gjøre den tilgjengelig for de uten SQL-kunnskap.

instagram story viewer