Изаберите Дата Витхин Рангес у СКЛ-у

Тхе Структурирани језик упита (СКЛ) пружа корисницима база података могућност креирања прилагођених упита за издвајање информација из база података. У ранијем чланку истражили смо издвајање података из базе података користећи СКЛ СЕЛЕЦТ упите. Хајде да проширимо ту расправу и истражимо како можете да напредујете упити за преузимање података који одговара одређеним условима.

Размотримо пример заснован на уобичајеном коришћењу Северни ветар база података, која се често испоручује са производима базе података као водич.

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

ИД производа Назив производа СупплиерИД КуантитиПерУнит Цена по јединици УнитсИнСтоцк
1 Цхаи 1 10 кутија к 20 врећа 18.00 39
2 Цханг 1 Боце од 24 - 12 оз 19.00 17
3 Сируп од аниса 1 Бочице од 12 - 550 мл 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 лб пкгс. 30.00 15
Табела производа

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

instagram viewer

Прва ограничења која ћемо поставити на наш упит укључују једноставне граничне услове. То можемо одредити у клаузули ВХЕРЕ упита СЕЛЕЦТ, користећи једноставне изразе услова конструисане са стандардним операторима, као што су ,> = и <=.

Прво, покушајмо са једноставним упитом који нам омогућава да издвојимо листу свих производа у бази података који имају УнитПрице већу од 20,00:

СЕЛЕЦТ ИМЕ производа, УнитПрице
ОД производа
ВХЕРЕ УнитПрице> 20.00

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

ПродуцтНаме УнитПрице

Шеф Антон'с Гумбо Мик 21.35
Шеф кухиње Антон'с Цајун Сеасонинг 22.00
Намаз од бакине бобице 25.00
Органске суве крушке стрица Боба 30.00

Такође можемо користити клаузулу ВХЕРЕ са вредностима низа. Ово у основи изједначава знакове са бројевима, при чему А представља вредност 1, а З представља вредност 26. На пример, могли бисмо да прикажемо све производе са именима која почињу са У, В, В, Кс, И или З са следећим упитом:

СЕЛЕЦТ ПродуцтНаме
ОД производа
ВХЕРЕ ПродуцтНаме> = 'Т'

Што даје резултат:

Назив производа

Органске суве крушке стрица Боба

Изражавање опсега помоћу граница

Клаузула ВХЕРЕ такође нам омогућава да применимо услов опсега на вредности користећи више услова. На пример, ако желимо да узмемо горе наведени упит и ограничимо резултате на производе са ценама између 15.00 и 20.00, могли бисмо да користимо следећи упит:

СЕЛЕЦТ ИМЕ производа, УнитПрице
ОД производа
ВХЕРЕ УнитПрице> 15.00 И УнитПрице <20.00

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

ПродуцтНаме УнитПрице

Цхаи 18.00
Чанг 19.00

Изражавање домета ИЗМЕЂУ

СКЛ такође нуди пречицу ИЗМЕЂУ синтаксе која смањује број услова које морамо да укључимо и чини упит читљивијим. На пример, уместо да користимо два горе наведена услова ВХЕРЕ, могли бисмо да изразимо исти упит као:

СЕЛЕЦТ ИМЕ производа, УнитПрице
ОД производа
ГДЈЕ Јединична цена ИЗМЕЂУ 15.00 И 20.00

Као и код осталих наших условних клаузула, ИЗМЕЂУ њих се ради и са вредностима низа. Ако бисмо желели да направимо листу свих земаља које почињу са В, В или Кс, могли бисмо да користимо упит:

СЕЛЕЦТ ПродуцтНаме
ОД производа
ГДЕ ИМЕ ПРОИЗВОДА ИЗМЕЂУ "А" и "Д"

Што даје резултат:

Назив производа

Сируп од аниса
Цхаи
Цханг
Гумбо мик шефа кухиње Антона
Зачин кајуна шефа Антона

Клаузула ВХЕРЕ је моћан део СКЛ језика који вам омогућава да резултате ограничите на вредности које спадају у одређене опсеге. Веома се често користи за изражавање пословне логике и требало би да буде део сваког алата стручњака за базе података. Често је корисно уврстити уобичајене клаузуле у ускладиштену процедуру како би била доступна онима који немају знање СКЛ-а.