Разлика између и где клаузуле у СКЛ-у

Аутор: Laura McKinney
Датум Стварања: 1 Април 2021
Ажурирати Датум: 12 Може 2024
Anonim
Мои братья 41 серия русская озвучка  (Фрагмент №1) | Kardeşlerim 41  Bölüm 1.Fragmanı
Видео: Мои братья 41 серия русская озвучка (Фрагмент №1) | Kardeşlerim 41 Bölüm 1.Fragmanı

Садржај


ГДЈЕ и ХАВИНГ клаузула углавном се користи у изјави СКЛ упита, они нам омогућавају да ограничимо комбинацију у односу резултата употребом одређеног предиката. Главна разлика између ВХЕРЕ и ХАВИНГ је у томе што ВХЕРЕ клаузула одређује услове за избор туплес (редови) из односа, укључујући услове придруживања ако је потребно. С друге стране, клаузула ХАВИНГ одређује стање на групе бирају се радије него појединачни подерачи.

СКЛ означава Структурирани језик упита; то је свеобухватни или декларативни језик базе података који се користи за приступ подацима из база података.

  1. Упоредни графикон
  2. Дефиниција
  3. Кључне разлике
  4. Закључак

Упоредни графикон

Основе за поређењеГДЕХАВИНГ
ОсновниРеализовано у редним операцијама.Примењује се у операцијама колона.
Примењује наЈедан редРезимирани ред или групе.
Дохваћање податакаДохваћа само одређене податке из одређених редова према стању.Испрва се преузимају комплетни подаци, а затим раздвајају у складу са стањем.
Збирне функцијеНије могуће појавити се у ВХЕРЕ клаузули.Може се појавити у клаузули ХАВИНГ.
Користи се саОДАБИР и остале изјаве као што су УПДАТЕ, ДЕЛЕТЕ или било која од њих.Не може се користити без СЕЛЕЦТ израза.
Делује каоПредфилтрирајтеПостфилтер
ГРУПА ОДДолази после ГДЈЕ.Долази пре ХАВИНГ.


Дефиниција Где клаузуле

СКЛ Где клаузула користи се за описивање стања у тренутку преузимања података из једне табеле или спајањем с више табела. Конкретну вредност из табеле враћа само ако је дат услов испуњен. ГДЈЕ се клаузула користи за прожимање записа и проналажење само потребних записа.

СКЛ такође имплементира логичке конективе и, или и не у ВХЕРЕ клаузули која је такође позната као боолеан стање; услов мора бити истинит за дохватање кутњика. Операнди израза логичких конектива укључују операторе поређења као што су <, <=, >, >=, =, и <>. Ови оператери за поређење упоређују низове и аритметичке изразе. Може се користити у ОДАБИР Изјава, као и у УПДАТЕ, ДЕЛЕТЕ изјаве.

Узмимо пример. Табела приказана доље названа као „Продаја'Табела се састоји од'Производ' и 'Износ продаје'Атрибути.


За израчунавање вредности треба да се напише следећи упит Укупна продаја телефона и звучника.

ОДАБИР производа, зброј (количина продаје) АС Укупна продаја ОД ГДЈЕ Производ у (телефон, звучници) ГРУПА ПО производу;

Следећи излаз је резултирајући излаз, где се редови прво филтрирају, преузимају се редови телефона и звучника, а затим се врши функција здруживања.

Дефиниција клаузуле

СКЛ пружа Клаузула ХАВИНГ која се може користити заједно са ГРУПА ОД клаузула Ова клаузула ХАВИНГ помаже у проналажењу вредности за групе које испуњавају одређене услове. ГДЈЕ се клаузула такође може користити заједно са клаузулом ХАВИНГ током избора, ГДЈЕ клаузула филтрира појединачни ред. Редови се затим групишу и извршавају се збирни прорачуни, на крају клаузула ХАВИНГ филтрира групе.

Понаша се исто као ГДЈЕ када се не користи кључна реч ГРОУП БИ. Функције Групе као што су мин, мак, авг, сум и цоунт могу се појавити у само двије клаузуле: клаузула СЕЛЕЦТ и ХАВИНГ. Омогућује увјет подешенима који одговарају свакој вриједности у групи атрибута. Као резултат биће приказан једини скуп записа који испуњава услов.

Овде такође узимамо исти пример као клаузула ГДЕ и разматрамо исто „Продаја' сто. Када желимо да израчунамо Укупна продаја телефона и звучника помоћу клаузуле ХАВИНГ, уписаћемо следећи упит.

ОДАБИР Производ, зброј (количина продаје) АС Укупан број продајних група од групе продаје према производу који садржи производ (телефон, звучници);

Упит даје следећи излаз где су производи дохваћени најпре, затим се врши функција агрегата (зброј) и на крају групе се филтрирају за разлику од класе ВХЕРЕ.

Када желимо да нађемо само оне производе где Укупна продаја је већа од 1000. Упит се може написати као:

ОДАБИР Производ, зброј (количина продаје) АС Укупан број продајних група од групе продаје по производу ХАВИНГ производа (количина продаје)> 1000;

Добијени излаз је:

Ово се не може извршити помоћу класе ВХЕРЕ упркос ХАВИНГ-у и ствара грешку јер се ВХЕРЕ клаузула не може користити са агрегатним функцијама.

  1. ГДЈЕ се клаузула користи у редним операцијама и примењује се у једном ретку, док се клаузула ХАВИНГ користи у операцијама колона и може се применити на сажете редове или групе.
  2. У ставци ГДЈЕ жељени подаци се преузимају према примењеном стању. Супротно томе, ХАВИНГ клаузула доноси читаве податке, а затим се одвајање врши према стању.
  3. Агрегатне функције као што су мин, зброј, мак, авг никада се не могу појавити заједно са ВХЕРЕ клаузулом. Насупрот томе, ове се функције могу појавити у клаузули ХАВИНГ.
  4. Клаузула ХАВИНГ се не може користити без СЕЛЕЦТ израза. Супротно томе, ГДЈЕ се могу користити са СЕЛЕЦТ, УПДАТЕ, ДЕЛЕТЕ итд.
  5. ГДЈЕ се клаузула понаша као предфилтер док клаузула ХАВИНГ делује као постфилтер.
  6. ГДЈЕ клаузула када се користи са ГРОУП БИ долази испред ГРОУП БИ. То значи да се ГДЕ филтрирају редови пре него што се изврше збирни прорачуни. С друге стране, ХАВИНГ долази после ГРОУП БИ, што значи да филтрира након што се изврше збирни прорачуни.

Закључак

ГДЈЕ и ХАВИНГ клаузула функционише на исти начин, осим додатне функције по којој је клаузула ХАВИНГ популарна. Клаузула ХАВИНГ може ефикасно радити са функцијама агрегата, док ГДЈЕ се не може користити са агрегатним функцијама.