Skip to main content

Valg af data inden for rækkevidde i SQL

Viden om data - Sociale Medier__video 02 - Interview med SoMe ekspert__Valg af influent (Juni 2025)

Viden om data - Sociale Medier__video 02 - Interview med SoMe ekspert__Valg af influent (Juni 2025)
Anonim

Struktureret forespørgselssprog (SQL) giver databasebrugere mulighed for at oprette tilpassede forespørgsler for at udtrække informationer fra databaser. I en tidligere artikel undersøgte vi at uddrage oplysninger fra en database ved hjælp af SQL SELECT-forespørgsler. Lad os udvide den diskussion og undersøge, hvordan du kan udføre avancerede forespørgsler for at hente data, der matcher bestemte forhold.Lad os overveje et eksempel baseret på den almindeligt anvendte Northwind-database, som ofte sendes med databaseprodukter som en vejledning.

Her er et uddrag fra databasens produkttabel:

Produkttabel
ProductIDProduktnavnSupplierIDQuantityPerUnitPris per stkUnitsInStock
1Chai110 kasser x 20 poser18.0039
2Chang124 - 12 oz flasker19.0017
3Anis sirup112 - 550 ml flasker10.0013
4Kok Antons Cajun Krydderier248 - 6 oz krukker22.0053
5Kokken Antons Gumbo Mix236 kasser21.350
6Bedstemor's Boysenberry Spread312 - 8 oz krukker25.00120
7Onkel Bobs Økologiske Tørrede Pærer312 - 1 lb pkgs.30.0015

Simple Boundary Conditions

De første begrænsninger, vi stiller på vores forespørgsel, involverer enkle grænsevilkår. Vi kan angive disse i WHERE-klausulen i SELECT-forespørgslen ved brug af simple betingelseserklæringer konstrueret med standardoperatører, som f.eks. <,>,> = Og <=.

Lad os først prøve en simpel forespørgsel, der giver os mulighed for at udtrække en liste over alle produkter i databasen, der har en UnitPrice på mere end 20,00:

VÆLG Produktnavn, UnitPrice FRA produkter HVOR UnitPrice> 20.00

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

ProductName UnitPrice ------- -------- Chef Antons Gumbo Mix 21,35 Chef Antons Cajun Seasoning 22.00 Grandma's Boysenberry Spread 25.00 Uncle Bob's Organic Tørrede Pærer 30,00

Vi kan også bruge WHERE-klausulen med strengværdier. Dette svarer i det væsentlige til tegn til tal med A, der repræsenterer værdien 1 og Z, der repræsenterer værdien 26. For eksempel kunne vi vise alle produkter med navne der begynder med U, V, W, X, Y eller Z med følgende forespørgsel:

VÆLG Produktnavn FRA produkter HVOR Produktnavn> = 'T'

Hvilket giver resultatet:

Produktnavn ------- Uncle Bobs Økologiske Tørrede Pærer

Udtrykke intervaller ved hjælp af grænser

WHERE-klausulen giver os også mulighed for at gennemføre en rækkevidde på en værdi ved hjælp af flere betingelser. For eksempel, hvis vi ønskede at tage vores forespørgsel over og begrænse resultaterne til produkter med priser mellem kl. 15.00 og 20.00, kunne vi bruge følgende forespørgsel:

VÆLG Produktnavn, UnitPrice FRA produkter HVOR UnitPrice> 15.00 AND UnitPrice <20.00

Dette giver resultatet vist nedenfor:

ProductName UnitPrice ------- -------- Chai 18.00 Chang 19.00

Udtrykke intervaller med mellemtiden

SQL giver også en genvej MELLEM syntax, der reducerer antallet af forhold, som vi skal medtage og gør forespørgslen mere læsbar. For eksempel, i stedet for at bruge de to WHERE betingelser ovenfor, kunne vi udtrykke det samme spørgsmål som:

VÆLG Produktnavn, UnitPrice FRA produkter HVOR UnitPrice MELLEM 15.00 OG 20.00

Som med vores andre betingelsesklausuler arbejder MELLEM også med strengværdier. Hvis vi ønskede at lave en liste over alle lande, der begynder med V, W eller X, kunne vi bruge forespørgslen:

VÆLG Produktnavn FRA produkter HVOR Produktnavn MELLEM "A" og "D"

Hvilket giver resultatet:

Produktnavn ------- Anis sirup Chai Chang Chef Antons Gumbo Mix Chef Antons Cajun Seasoning

WHERE-klausulen er en stærk del af SQL-sproget, som giver dig mulighed for at begrænse resultater til værdier inden for bestemte intervaller. Det er meget almindeligt brugt til at hjælpe med at udtrykke forretningslogik og bør være en del af hver database professionel værktøjssæt.

Det er ofte nyttigt at indarbejde fælles klausuler i en lagret procedure for at gøre den tilgængelig for dem uden SQL-viden.