СКЛ придруживање под више услова

Skl Pridruzivane Pod Vise Uslova



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

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







У овом водичу ћемо открити како да изведемо СКЛ спајање под више услова. Научићемо да користимо логичке операторе „АНД“ и „ОР“ за спајање података на основу више услова.



СКЛ се придружује под више услова

Можемо навести више услова користећи АНД или ОР операторе у СКЛ-у. Ови оператори нам омогућавају да дефинишемо скуп Булових израза који се затим процењују и пореде са резултујућим скупом.



Користимо АНД оператор да бисмо осигурали да су сви наведени услови тачни. Ако чак и један од услова није тачан, цео израз се претвара у нетачан. Ово чини АНД оператор изузетним алатом за екстремно филтрирање података.





С друге стране, користимо ОР оператор када нам је потребно да је бар један од услова тачан. Ово га чини „лабавијим“ методом филтрирања података јер резултујући запис мора да испуњава само један дефинисани параметар.

Функционалност АНД и ОР оператора се не мења чак ни у случају СКЛ спајања.



Пример вишеструких спајања у СКЛ-у

Да бисте разумели како да радите са спојевима под више услова, најбоље је радити са примером.

За ову демонстрацију користимо Сакила базу података која је развијена да истражи пуне могућности СКЛ-а.

Претпоставимо да желимо да преузмемо податке из табела филма и филм_ацтор. Прво, желимо да пронађемо све глумце који су глумили у филму који имају оцену ПГ или ПГ-13 и дужине између 90 и 120.

У таквом сценарију, морамо да извршимо спајање са више услова као што је приказано у наставку:

СЕЛЕЦТ ацтор.фирст_наме, ацтор.ласт_наме, филм.титле, филм.релеасе_иеар, филм.ратинг
ОД глумца
ПРИДРУЖИТЕ се филм_ацтор ОН ацтор.ацтор_ид = филм_ацтор.ацтор_ид
ПРИДРУЖИТЕ СЕ филму НА филм_ацтор.филм_ид = филм.филм_ид
ГДЕ филм.дужина ИЗМЕЂУ 90 И 120
И филм.оцена ИН ( 'ПГ' , 'ПГ-13' ) ;


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

Добијена табела је следећа:


Такође можемо навести више услова на основу оператора ОР као што је приказано у следећем примеру упита:

СЕЛЕЦТ филм.титле, филм.рентал_рате, цатегори.наме
ИЗ филма
ПРИДРУЖИТЕ СЕ филм_цатегори НА филм.филм_ид = филм_цатегори.филм_ид
ПРИДРУЖИТЕ се категорији НА филм_цатегори.цатегори_ид = цатегори.цатегори_ид
ВХЕРЕ категорија.назив ИН ( 'Поступак' , 'комедија' )
И филм.рентал_рате > 3.00 ;


Добијена табела је следећа:

Закључак

Овај водич је истраживао како се ради са СКЛ спојевима на основу више услова користећи АНД и ОР операторе. Ово омогућава детаљније филтрирање података.