Избор података унутар граница у СКЛ-у

Упознавање са ВХЕРЕ клаузулом и условима БЕТВЕЕН

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

Хајде да размотримо пример заснован на најчешће коришћени бази података Нортхвинд, која често испоручује производе са базом података као туторијал.

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

Табела производа
ИД производа Назив производа СупплиерИД КуантитиПерУнит Цена по јединици УнитсИнСтоцк
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

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

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


Прво, пробајте једноставно упите који нам омогућавају да извучемо листу свих производа у бази података који имају УнитПрице од више од 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

Као и код других услова клаузула, БЕТВЕЕН ради са вриједностима стринга. Ако желимо да направимо листу свих земаља почевши од В, В или Кс, могли бисмо да користимо упит:

СЕЛЕЦТ ПродуцтНаме ФРОМ продуцтс ВХЕРЕ ПродуцтНаме БЕТВЕЕН "А" и "Д"

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

ПродуцтНаме ------- Анисеед Сируп Цхаи Цханг Цхеф Антон'с Гумбо Мик Цхеф Антон'с Цајун Сеасонинг

Клаузула ВХЕРЕ је моћан део СКЛ језика који вам дозвољава да ограничите резултате на вредности које спадају у одређене опсеге. Веома се обично користи за експресију пословне логике и треба да буде део сваког алата за професионалце свих база података.

Често је корисно уобличити обичне клаузуле у ускладиштену процедуру како би била доступна онима без знања СКЛ-а.