Pasirinkite SQL duomenų diapazone

Struktūruota užklausų kalba (SQL) suteikia duomenų bazės vartotojams galimybę kurti pritaikytas užklausas informacijai iš duomenų bazių išgauti. Ankstesniame straipsnyje mes ištyrėme informacijos išskyrimą iš duomenų bazės naudojant SQL SELECT užklausas. Išplėskime šią diskusiją ir ištirkime, kaip galite dirbti pažangiau užklausos gauti duomenis, kurie atitinka konkrečias sąlygas.

Panagrinėkime pavyzdį, pagrįstą dažniausiai naudojamu Šiaurės vėjas duomenų bazė, kurioje kaip duomenų bazė dažnai pateikiami duomenų bazės produktai.

Štai ištrauka iš duomenų bazės lentelės Produktas:

ProductID Produkto pavadinimas Tiekėjo ID KiekisPerUnit Vieneto kaina „UnitsInStock“
1 Chai 1 10 dėžių x 20 maišelių 18.00 39
2 Chang 1 24 - 12 oz buteliai 19.00 17
3 Anyžių sirupas 1 12 - 550 ml buteliai 10.00 13
4 Virėjo Antono „Cajun“ prieskoniai 2 48 - 6 uncijos stiklainiai 22.00 53
5 Virėjo Antono „Gumbo Mix“ 2 36 dėžės 21.35 0
6 Močiutės „Boysenberry“ užtepėlė 3 12 - 8 uncijos stiklainiai 25.00 120
7 Dėdės Bobo ekologiškos džiovintos kriaušės 3 12 - 1 svaras svorio. 30.00 15
Produktų lentelė
instagram viewer

Paprastos ribinės sąlygos

Pirmieji apribojimai, kuriuos nustatysime užklausai, apima paprastas ribines sąlygas. Tai galime nurodyti SELECT užklausos WHERE sąlygoje, naudodami paprastus sąlygų sakinius, sukonstruotus naudojant standartinius operatorius, tokius kaip ,> = ir <=.

Pirmiausia išbandykime paprastą užklausą, kuri leidžia mums išgauti visų duomenų bazės produktų, kurių „UnitPrice“ yra didesnė nei 20,00, sąrašą:

PASIRINKITE „ProductName“, „UnitPrice“
IŠ produktų
KUR Vieneto kaina> 20.00 val

Tai sudaro keturių produktų sąrašą, kaip parodyta žemiau:

„ProductName“ vieneto kaina

Virėjo Antono „Gumbo Mix“ 21.35 val
Virėjo Antono „Cajun“ prieskoniai 22.00 val
Močiutės „Boysenberry“ užtepėlė 25.00 val
Dėdės Bobo ekologiškos džiovintos kriaušės 30.00 val

Taip pat galime naudoti sąlygą WHERE su eilutės reikšmėmis. Tai iš esmės sutapatina simbolius su skaičiais, A reiškia 1 reikšmę, o Z - 26. Pvz., Visus produktus, kurių pavadinimai prasideda U, V, W, X, Y arba Z, galime rodyti su šia užklausa:

PASIRINKITE „ProductName“
IŠ produktų
WHERE ProductName> = 'T'

Tai duoda rezultatą:

Produkto pavadinimas

Dėdės Bobo ekologiškos džiovintos kriaušės

Diapazonų išreiškimas naudojant ribas

WHERE sąlyga taip pat leidžia mums įgyvendinti vertės diapazono sąlygą naudojant kelias sąlygas. Pavyzdžiui, jei norėtume atsižvelgti į savo užklausą aukščiau ir apriboti rezultatus tik produktais, kurių kainos yra nuo 15.00 iki 20.00, galėtume naudoti šią užklausą:

PASIRINKITE „ProductName“, „UnitPrice“
IŠ produktų
KUR Vieneto kaina> 15.00 IR Vieneto kaina <20.00

Tai duoda žemiau parodytą rezultatą:

„ProductName“ vieneto kaina

Čai 18.00 val
Changas 19.00 val

Išreikšti diapazonus TARP

SQL taip pat pateikia nuorodą TARP sintaksės, kuri sumažina sąlygų, kurias turime įtraukti, skaičių ir daro užklausą lengviau skaitomą. Pvz., Užuot naudojęsi dviem aukščiau pateiktomis WHERE sąlygomis, galėtume išreikšti tą pačią užklausą kaip:

PASIRINKITE „ProductName“, „UnitPrice“
IŠ produktų
KUR Vieneto kaina TARP 15.00 IR 20.00

Kaip ir kitose sąlygose, BETWEEN taip pat veikia su eilutės reikšmėmis. Jei norėtume sudaryti visų šalių, prasidedančių V, W arba X, sąrašą, galėtume naudoti užklausą:

PASIRINKITE „ProductName“
IŠ produktų
Kur „ProductName“ TARP „A“ ir „D“

Tai duoda rezultatą:

Produkto pavadinimas

Anyžių sirupas
Chai
Chang
Virėjo Antono „Gumbo Mix“
Virėjo Antono „Cajun“ prieskoniai

Sąlyga WHERE yra galinga SQL kalbos dalis, leidžianti apriboti rezultatus iki reikšmių, patenkančių į nurodytus diapazonus. Jis labai dažnai naudojamas verslo logikai išreikšti ir turėtų būti kiekvieno duomenų bazės specialisto įrankių rinkinio dalis. Dažnai naudinga įtraukti įprastas sąlygas į saugomą procedūrą, kad ji būtų prieinama tiems, kurie neturi SQL žinių.

instagram story viewer