Избирање податоци во рамките на рангот во SQL

Запознавање со клаузулата КАДЕ и СОБА

Структурниот јазик за пребарување (SQL) им овозможува на корисниците на базата на податоци да имаат можност да креираат кориснички пребарувања за да ги извлечат информациите од базите на податоци. Во една претходна статија, ние истражувавме вадење на информации од базата на податоци користејќи SQL SELECT пребарувања . Ајде да се прошириме по таа дискусија и да разгледаме како можете да извршите напредни пребарувања за да ги превземете податоците што одговараат на специфични услови.

Да го разгледаме примерот базиран на најчесто користената база на податоци Northwind, која честопати испорачува производи со база на податоци како туториал.

Еве еден извадок од табелата на производот на базата на податоци:

Табела на производи
ProductID ProductName SupplierID QuantityPerUnit Единечната цена UnitsInStock
1 Чај 1 10 кутии x 20 кеси 18.00 39
2 Чанг 1 Шишиња од 24 - 12 мл 19.00 17
3 Анасонски сируп 1 12 - 550 ml шишиња 10.00 13
4 Готвач на Антон Чајун 2 48 - 6 мл тегли 22.00 53
5 Готвач на готвач Антон 2 36 кутии 21.35 0
6 Баба се шири од бобинки 3 12 - 8 мл тегли 25.00 120
7 Органски сушени круши чичко Боб 3 12 - 1 lb pkgs. 30.00 15

Едноставни гранични услови

Првите ограничувања што ќе ги поставиме на нашето барање вклучуваат едноставни гранични услови. Ние можеме да ги специфицираме овие во клаузулата WHERE од SELECT пребарувањето, користејќи едноставни состојби изработени со стандардни оператори, како што се <,>,> =, и <=.


Прво, ајде да пробаме едноставно пребарување кое ни овозможува да извлечеме листа на сите производи во базата на податоци што имаат UnitPrice од повеќе од 20,00:

Избери ProductName, UnitPrice FROM производи КАДЕ UnitPrice> 20.00

Ова произведува листа на четири производи, како што е прикажано подолу:

ProductName UnitPrice ------- -------- Chef Anton's Gumbo Mix 21.35 Chef Anton's Cajun Seasoning 22.00 Bambo's Spread 25.00 Bottles Organic Cried Pears 30.00

Ние исто така можеме да ја користиме клаузулата КАДЕ со вредности на низа. Ова во основа ги изедначува ликовите со броеви, со А што ја претставува вредноста 1 и Z што ја претставува вредноста 26. На пример, можеме да ги прикажеме сите производи со имиња што почнуваат со U, V, W, X, Y или Z со следното барање:

SELECT ProductName ОД производи КАДЕ PRODUCTNAME> = 'T'

Кој произведува резултат:

ProductName ------- Органски сушени круши од чичко Боб

Изразувајќи ги границите користејќи граници

Клаузулата КАДЕ исто така ни овозможува да имплементираме опсег на вредност на вредност со користење на повеќе услови. На пример, ако сакаме да го земеме погоре нашето прашање и да ги ограничиме резултатите на производи со цени помеѓу 15.00 и 20.00, би можеле да го искористиме следното барање:

Избери ProductName, UnitPrice FROM производи КАДЕ UnitPrice> 15.00 и UnitPrice <20.00

Ова произведува резултат прикажан подолу:

ProductName UnitPrice ------- -------- Чај 18.00 Чанг 19.00

Изразувајќи ги опсезите со BETWEEN

SQL, исто така, обезбедува кратенка BETWEEN синтакса која го намалува бројот на условите што треба да ги вклучиме и го прави полесно за читање. На пример, наместо да ги искористиме двете услови КАДЕ погоре, би можеле да го изразиме истото барање како:

SELECT ProductName, UnitPrice FROM products КАДЕ UnitPrice помеѓу 15.00 и 20.00

Како и со нашите други клаузули за состојби, BETWEEN работи со низа вредности. Ако сакаме да создадеме листа на сите земји кои почнуваат со V, W или X, би можеле да го искористиме барањето:

SELECT ProductName ОД КАДЕ КАДЕ продуктска Име меѓу "А" и "Д"

Кој произведува резултат:

ProductName ------- Aniseed Syrup Chai Chang Chef Антон's Gumbo Mix Chef Anton's Cajun Seasoning

Клаузулата КАДЕ е моќен дел од јазикот на SQL кој ви дозволува да ги ограничите резултатите до вредностите што спаѓаат во определени опсези. Тоа е многу често се користи за да им помогне на изразуваат деловна логика и треба да биде дел од алатката за професионална база на податоци.

Често е корисно да се вклучат вообичаените клаузули во складирана постапка за да се направи достапна за оние без познавање на SQL.