Տվյալների ընտրության շրջանակը SQL- ում

Ներկայացնել WHERE կետը եւ BETWEEN վիճակը

Կառուցվածքային հարցման լեզու (SQL) ապահովում է տվյալների բազայի օգտագործողներին տվյալների շտեմարաններից տեղեկություն ստանալու համար հարմարեցված հարցումներ ստեղծելու ունակություն: Ավելի վաղ հոդվածում մենք ուսումնասիրեցինք SQL SELECT հարցումներից օգտվողների տվյալների բազայից դուրս բերելու մասին : Եկեք ընդարձակենք այդ քննարկումները եւ ուսումնասիրեք, թե ինչպես կարող եք կատարել առաջադեմ հարցումներ , ստանալու հատուկ պայմաններին համապատասխանող տվյալներ:

Եկեք քննենք մի օրինակ, որը հիմնված է օգտագործված Northwind բազայի վրա, որը սովորաբար առաքում է տվյալների բազայի արտադրանքների որպես ձեռնարկ:

Ահա տվյալների բազայի արտադրանքի աղյուսակից մի հատված.

Ապրանքի աղյուսակ
ProductID- ը Ապրանքային անուն Մատակարարող ID Քանակականություն Միավոր գինը Միավորներ
1 Չայ 1 10 տուփ x 20 տոպրակներ 18.00 39
2 Chang 1 24 - 12 ունց շիշ 19.00 17
3 Անիսիդային օշարակ 1 12 - 550 մլ շիշ 10.00 13
4 Chef Անտոնի կաջուն համեմունք 2 48 - 6 ունց բանկա 22.00 53
5 Chef Անտոնի Gumbo Mix- ը 2 36 տուփ 21.35 0
6 Տատիկի ծաղրածուի տարածումը 3 12 - 8 ունց բանկա 25.00 120
7 Հորեղբոր Բոբի օրգանական չորացրած տանձ 3 12-ից 1 նիշ pkgs: 30.00 15

Պարզ սահմանային պայմաններ

Առաջին սահմանափակումները, որոնք մենք կներկայացնենք մեր հարցմանը, ներառում են պարզ սահմանային պայմաններ: Մենք կարող ենք նշել դրանք SELECT հարցման WHERE կետում `օգտագործելով ստանդարտ օպերատորների հետ կառուցված պարզ հայտարարություններ, ինչպիսիք են <,>,> =, եւ <=:


Նախ, եկեք փորձենք մի պարզ հարց, որը թույլ է տալիս մեզ արտացոլել տվյալների բազայում առկա բոլոր ապրանքները, որոնք ունեն UnitPrice ավելի քան 20.00:

SELECT ProductName, UnitPrice FROM ապրանքներ WHERE UnitPrice> 20.00

Սա արտադրում է չորս արտադրանքի ցանկ, ինչպես ներկայացված է ստորեւ:

ProductName UnitPrice ------- -------- Chef Անտոնի Gumbo Mix 21.35 Chef Անտոնի կաժունի համեմունքներ 22.00 Տատիկի բոյզենի տարածումը 25.00 Uncle Bob- ի օրգանական չորացրած տանձ 30.00

Մենք կարող ենք նաեւ օգտագործել WHERE կետը լարային արժեքներով: Սա հիմնականում հավասարեցնում է նիշերի թվերին, իսկ A- ի արժեքը, որը ներկայացնում է արժեքը 1-ը եւ Z- ը, 26 արժեքը: Օրինակ, մենք կարող ենք ցույց տալ բոլոր ապրանքները U, V, W, X, Y կամ Z- ի հետ, հետեւյալ հարցմամբ.

Ընտրել ProductName FROM PRODUCTS WHERE ProductName> = 'T'

Արդյունք է առաջացնում.

ProductName ------- Uncle Bob- ի օրգանական չորացրած տանձ

Արտահայտելով միջակայքները, օգտագործելով սահմանները

WHERE- ի դրույթը նաեւ թույլ է տալիս կիրառել մի շարք պայմաններ արժեքի վրա, օգտագործելով բազմաթիվ պայմաններ: Օրինակ, եթե մենք ուզում ենք վերցնել մեր հարցումը վերը նշված եւ արդյունքների սահմանափակումները 15.00-ից մինչեւ 20.00-ի միջեւ ընկած ժամանակահատվածում, կարող ենք օգտագործել հետեւյալ հարցումը.

SELECT ProductName, UnitPrice FROM ապրանքներ WHERE UnitPrice> 15.00 եւ UnitPrice <20.00

Սա առաջացնում է արդյունքը ստորեւ:

ProductName Unit Գինը ------- -------- Chai 18.00 Chang 19.00

Ցույց տալ միջակայքները BETWEEN- ով

SQL- ն նաեւ տալիս է BETWEEN սինթետիկի դյուրանցում, որը նվազեցնում է այն պայմանների քանակը, որոնք մենք պետք է ներառենք եւ հարցումը ավելի ընթեռնելի: Օրինակ, վերը նշված WHERE- ի երկու պայմանները փոխելու փոխարեն մենք կարող էինք արտահայտել նույն հարցումը, ինչպես, օրինակ,

SELECT ProductName, UnitPrice FROM ապրանքներ WHERE UnitPrice միջեւ 15.00 եւ 20.00

Ինչպես մեր մյուս պայմանների դրույթները, BETWEEN- ն աշխատում է նաեւ լարային արժեքներով: Եթե ​​ցանկանում ենք արտադրել V, W կամ X- ով սկսած բոլոր երկրների ցանկը, կարող ենք օգտագործել հետեւյալ հարցումը.

ԸՆԴՀԱՆՈՒՐ ԴՐՈՒՅԹՆԵՐՆ ԸՆԴՀԱՆՈՒՐ ԴՐՈՒՅԹՆԵՐԸ ՑԱՆԿԱՆՈՒՄ ԵՆ «Ապրանք» եւ «Դ» միջեւ

Արդյունք է առաջացնում.

ProductName ------- Aniseed Syrup Chai Chang Chef Անտոնի Gumbo խառնուրդ Chef Անտոնի Cajun համեմունք

WHERE- ի դրույթը հանդիսանում է SQL լեզվի հզոր մասը, որը թույլ է տալիս սահմանափակել արդյունքները որոշակի միջակայքերում ընկած արժեքների նկատմամբ: Դա շատ հաճախ օգտագործվում է օգնելու գործնական տրամաբանությունը արտահայտել եւ պետք է լինի յուրաքանչյուր բազայի մասնագիտական ​​գործիքի մաս:

Հաճախ օգտակար է ընդգրկել ընդհանուր դրույթներ պահեստային ընթացակարգի մեջ , այն մատչելի դարձնելու համար, առանց SQL գիտելիքների: