Skip to main content

Datu atlases diapazonos SQL

Anonim

Strukturēto vaicājumu valoda (SQL) nodrošina datu bāzes lietotājiem iespēju izveidot pielāgotus vaicājumus, lai iegūtu informāciju no datu bāzēm. Iepriekšējā rakstā mēs pētījām informāciju no datu bāzes, izmantojot SQL SELECT vaicājumus. Izvērsīsim šo diskusiju un izpētīsim, kā jūs varat veikt uzlabotus vaicājumus, lai izgūtu datus, kas atbilst konkrētiem nosacījumiem.Apskatīsim piemēru, kas balstīts uz bieži izmantoto Northwind datubāzi, kura bieži vien ar apmācības palīdzību piegādā datubāzes produktus.

Šeit ir izvilkums no datu bāzes Produkta tabulas:

Produktu tabula
ProductIDProdukta nosaukumsSupplierIDNumberPerUnitVienības cenaUnitsInStock
1Chai110 kastes x 20 somas18.0039
2Čangs124 - 12 collu pudeles19.0017
3Anīsa sīrups112 - 550 ml pudelītes10.0013
4Chef Antona Cajun garšviela248 - 6 oz burkas22.0053
5Chef Anton's Gumbo Mix236 kastes21.350
6Vecmāmiņas zaķapavārs312 - 8 collu burkas25.00120
7Uncle Bob's Organic Dried Bumbers312 - 1 lb pkgs.30.0015

Vienkārši robežu nosacījumi

Pirmie ierobežojumi, kurus mēs ievietosim mūsu vaicājumā, ietver vienkāršus robežnosacījumus. Mēs varam tos norādīt SELECT vaicājuma WHERE klauzulā, izmantojot vienkāršus nosacījumu paziņojumus, kas izveidoti ar standarta operatoriem, piemēram, <,>,> = un <=.

Vispirms izmēģiniet vienkāršu vaicājumu, kas ļauj mums iegūt sarakstu ar visiem produktiem, kas atrodas datubāzē, kuru Vienības cena ir lielāka par 20,00:

SELECT ProductName, UnitPrice No produktiem WHERE UnitPrice> 20.00

Tas veido četru produktu sarakstu, kā parādīts zemāk:

ProductName UnitPrice ------- ------- Chef Anton's Gumbo Mix 21.35 Chef Anton's Cajun Garšvielas 22.00 Grandma's Boysenberry Spread 25.00 Uncle Bob's Organic Dry Bars 30.00

Mēs varam arī izmantot WHERE klauzulu ar virknes vērtībām. Tas pamatā pielīdzina rakstzīmes skaitļiem ar A, kas attēlo vērtību 1 un Z, kas ir 26. vērtība. Piemēram, mēs varētu parādīt visus produktus ar nosaukumiem, kas sākas ar U, V, W, X, Y vai Z ar šādu vaicājumu:

SELECT ProductName FROM PRODUCTS WHERE ProductName> = 'T'

Kas rada rezultātu:

ProductName ------- Uncle Bob's Organic Dried Bumbers

Izteikt diapazonus, izmantojot robežas

WHERE klauzula arī ļauj mums ieviest vērtību diapazona nosacījumus, izmantojot vairākus nosacījumus. Piemēram, ja mēs gribētu ņemt augstāk minēto vaicājumu un ierobežot rezultātus produktiem ar cenām no plkst. 15.00 līdz 20.00, mēs varētu izmantot šādu vaicājumu:

SELECT ProductName, UnitPrice No produktiem WHERE UnitPrice> 15.00 UN UnitPrice <20.00

Tas rada rezultātu, kas parādīts zemāk:

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

Izteikt diapazonus BETWEEN

SQL arī nodrošina īsceļu BETWEN sintakse, kas samazina nosacījumu skaitu, kas mums ir jāiekļauj un padara vaicājumu lasāmāku. Piemēram, tā vietā, lai izmantotu iepriekš minētos WHERE nosacījumus, mēs varētu izteikt tādu pašu vaicājumu kā:

SELECT ProductName, UnitPrice No produktiem, ja vienības cena ir no 15:00 līdz 20,00

Tāpat kā mūsu citu nosacījumu klauzulos, BETWEEN strādā arī ar virknes vērtībām. Ja mēs gribētu izveidot sarakstu ar visām valstīm, kas sākas ar V, W vai X, mēs varētu izmantot vaicājumu:

IZVĒLIETIES produkta nosaukumu FROM PRODUCTS WHERE ProductName BETWE "A" un "D"

Kas rada rezultātu:

ProductName ------- Anīsa sīrups Chai Chang šefpavārs Antona Gumbo maisījuma šefpavārs Antona Cajun garšviela

WHERE klauzula ir spēcīga SQL valodas daļa, kas ļauj ierobežot rezultātus ar vērtībām, kas ietilpst noteiktā diapazonā. Tas ļoti bieži tiek izmantots, lai palīdzētu izteikt biznesa loģiku, un tai vajadzētu būt daļai no katras datubāzes profesionāļa rīku komplekta.

Parasti ir lietderīgi iekļaut kopējās klauzulas glabātā procedūrā, lai padarītu to pieejamu tiem, kuriem nav SQL zināšanu.