..


Спонсоред Линкс

Користећи УНИЈЕ да комбинује резултате из две табеле

Чланак који је написао Макс Боси

СКЛ језик нам нуди прилично једноставан начин да се комбинују у оквиру исте СЕЛЕЦТ, резултати две различите табеле.

Да би се ово постигло, време је да користи алл'оперторе уније која ће се, у ствари, јединство резултата добијених испитивањем две табеле.

Имајте на уму да би се правилно користи, време је да Унија оператер:

  • да табеле су испитане на исти број колона;
  • захтева да колоне имају исто име;
  • да захтевају колоне у две табеле имају конзистентне типове података;
Ево једног примера: рецимо да треба да раде на бази података хипотетички и туристичка агенција и претпостављају да је наша ДБ-а садржи само две табеле:
  • хотел_италиа
    • име
    • звезде
    • град
    • нација
  • хотел_еуропа
    • име
    • звезде
    • град
    • нација
Сада претпоставимо да корисник жели да зна било нуди хотела у Италији и Европи:





 СЕЛЕЦТ име, звезде, град, држава







 ИЗ хотел_италиа







 УНИЈА







 СЕЛЕЦТ име, звезде, град, држава







 ИЗ хотел_еуропа



Са овим упит добијамо комплетан списак свих хотела у две табеле:

име звезде град нација
Хотел Цавоур 4 Рим СР
Хотел Мирамаре 2 Католички СР
Хотел Манзони 2 Милано СР
Хотел Еспана 3 Мадрид ЕС
Хилтон 5 Лондон Уједињено Краљевство
Хотел ам Сцхлоссгартен 4 Штутгарт ДЕ

Напомена: Имајте на уму да Унија не показује дуплираним записима (по дефаулту ради као да је СЕЛЕЦТ ДИСТИНЦТ ), а ако желите било дуплираним записима такође показују (мислим да вратимо на пример, у хотелу у овој оба у табели у који хотел_италиа хотел_еуропа) Потребно је да користите УНИОН АЛЛ.

Сортирај и ограничити резултате који проистичу из УНИЈЕ

Претпоставимо да су резултати коришћења УНИОН и многи желе да буду ограничени на одређени број. Како? Ево решења:

 



 СЕЛЕЦТ * ФРОМ







 (СЕЛЕЦТ име, звезде, град, земљу од хотел_италиа







 УНИЈА







 СЕЛЕЦТ име, звезде, град, земљу од хотел_еуропа)







 Хотел Ас







 ОРДЕР БИ ДЕСЦ ЛИМИТ 10 звезде

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

У истој категорији ...
Е-учење
МС Аццесс (Адванцед) МС Аццесс (Адванцед)
Сазнајте како да направите и управљање базама података брзо и лако. Полазећи од 29 €.
МиСКЛ (курс) МиСКЛ (курс)
Управљање опен соурце базу података. Од 39 €.
СКЛ и базе података (курс) СКЛ и базе података (курс)
Креирање и управљање релационим базама података. Од 39 €.
Спонсоред Линкс