МиСКЛ се спаја са Иннер Јоин

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

Многи универзитети их користе за тестирање МиСКЛ -а и за програмирање.
Затим распакујемо преузету датотеку и видећемо две датотеке сакила-сцхема.скл која садржи структуру базе података и сакила-дата.скл А који садржи узорке података.
Циљ ове базе података је да обезбеди окружење за тестирање, било за развој софтвера или тестирање скл упита, и на тај начин буде у могућности да изврши тестове са могућностима које нуди МиСКЛ. Сакилина структура је сложена, има 1000 записа и више односа.
База података Сакила такође садржи примере приказа, ускладиштених процедура и покретача.
Ова база података претпоставља продавницу за изнајмљивање филмова која може имати подружнице и продавце,
Процес претпоставља да за изнајмљивање филма прво морамо потврдити да је филм доступан или на лагеру, а затим морамо провјерити постоји ли клијент у бази података, а ми ћемо му додијелити филм или ДВД. Такође морамо да унесемо продају у табелу плата. У зависности од пословних правила, можда ће такође бити потребно проверити има ли клијент неподмирено стање.
Да бисмо проверили да ли клијент постоји по имену, можемо поставити једноставан упит:
 изаберите цустомер.цустомер_ид, цустомер.сторе_ид, ЦОНЦАТ (цустомер.фирст_наме, '', цустомер.ласт_наме) као клијента од купца где цустомер.фирст_наме попут 'Царлос% 
У овом водичу ћемо се фокусирати на комбиноване упите изводећи неколико примера који ће бити детаљно објашњени.

СКЛ унутрашња клаузула придруживања


СКЛ ЈОИН клаузула се користи за комбиновање редова из две или више табела, на основу заједничког поља између њих.
ИННЕР ЈОИН враћа све спојене редове из табела који испуњавају услов спајања.

Пример А.


Желимо да знамо који су клијенти изнајмљивали филмове за ово, имамо сто за клијенте и сто за изнајмљивање, стога морамо знати који су клијенти у табели за изнајмљивање.
 изаберите рент.рентал_ид, цустомер.фирст_наме, цустомер.ласт_наме, рент.рентал_дате, рент.ретурн_дате од изнајмљивања УНУТРАШЊЕ ПРИДРУЖИТЕ се кориснику ОН рент.цустомер_ид = цустомер.цустомер_ид 
Резултат извршавања ове клаузуле биће следећи:

У овом случају исто је урадити упит са Вхере:
 изаберите рент.рентал_ид, цустомер.фирст_наме, цустомер.ласт_наме, рент.рентал_дате, рент.ретурн_дате од рент, цустомер вхере рент.цустомер_ид = цустомер.цустомер_ид 
Разлика је у томе што се унутрашње придруживање оптимизацији СКЛ упита дешава нешто брже.

Пример Б.


Имамо две продавнице или пословнице које генеришу дневну листу доспелих закупа како би се купци могли контактирати и затражити да врате филм.
Да бисмо генерисали ову листу, морамо да претражимо табелу за изнајмљивање филмова са датумом враћања који је НУЛЛ, односно без датума и да датум изнајмљивања премашује време или број дана за које клијент може да задржи филм. Ако је овај услов испуњен, онда је клијент дужан за филм, а назив филма треба да буде приказан на листи заједно са именом, бројем телефона и е -поштом клијента. Такође ћемо показати да ли је филм плаћен, на који датум је плаћен и колико је плаћен.
 СЕЛЕЦТ ЦОНЦАТ (цустомер.ласт_наме, ',', цустомер.фирст_наме) КАО купац, адреса. телефон, наслов филма, наслов е -поште, е -пошта, најам.ретурн_дате, датум плаћања.плате, износ плаћања.износ ИЗНАЈМЉИВАЊА ПРИДРУЖИТЕ се кориснику НА рент.цустомер_ид = цустомер.цустомер_ид ИННЕР ЈОИН адреса ОН цустомер.аддресс_ид = аддресс.аддресс_ид ИННЕР ЈОИН инвентар ОН рентал.инвентори_ид = инвентори.инвентори_ид ИННЕР ЈОИН филм ОН инвентори.филм_ид = филм.филм_ид УНУТРАШЊИ ПРИДРУЖИТЕ се уплата НА уплату.рентал_ид = рент.ид ВХЕРЕ .ретурн_дате ИС НУЛЛ АНД рент_дате + ИНТЕРВАЛ филм.рентал_дуратион ДАИ <ЦУРРЕНТ_ДАТЕ () 

Пример Ц.


Желимо да сазнамо који је клијент који изнајмљује највише филмова за ово, пишемо следећу клаузулу
 Одаберите ЦОНЦАТ (цустомер.фирст_наме, '', цустомер.ласт_наме) као клијента, рачунајте (рент.цустомер_ид) као укупно из групе за унутрашње придруживање корисника на рент.цустомер_ид = цустомер.цустомер_ид групи према рент.цустомер_ид ***** укупно десц 
Тако да можемо да урадимо много тестова са Мискл -ом да бисмо тестирали перформансе. У другом водичу ћемо напредовати у сложенијим упитима:

Пример Ц.


Желимо да сазнамо који је клијент који изнајмљује највише филмова за ово, пишемо следећу клаузулу
 Одаберите ЦОНЦАТ (цустомер.фирст_наме, '', цустомер.ласт_наме) као клијента, рачунајте (рент.цустомер_ид) као укупно из групе за унутрашње придруживање корисника на рент.цустомер_ид = цустомер.цустомер_ид групи према рент.цустомер_ид ***** укупно десц 
Тако да можемо да урадимо много тестова са МиСКЛ -ом да бисмо тестирали перформансе. У другом водичу ћемо напредовати у сложенијим упитима.

Да ли вам се допао и помогао овај водич?Можете наградити аутора притиском на ово дугме да бисте му дали позитиван поен

Ви ће помоћи развој сајта, дељење страницу са пријатељима

wave wave wave wave wave