Спајање две табеле у СКЛ-у

Spajane Dve Tabele U Skl U



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

Спајање табеле или спајање табела је позната карактеристика релационих база података и невероватно је моћна. Омогућава нам да консолидујемо информације из више извора како бисмо створили кохерентније и смисленије увиде у податке. Такође омогућава да релационе базе података буду високо скалабилне (не флексибилне) јер можемо да разбијемо податке на мање делове којима се може управљати, на које можемо касније да референцирамо.

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







Табела узорака

Пре него што кренемо у свет спајања табела, хајде да поставимо основне табеле које ћемо користити у сврху демонстрације.



Размотрите две табеле које садрже информације о запосленима и платама као што је приказано у следећим примерима упита:



ЦРЕАТЕ ТАБЛЕ запослених (

Емплоиее_ид ИНТ АУТО_ИНЦРЕМЕНТ ПРИМАРИ КЕИ,

име ВАРЦХАР( педесет ),

презиме ВАРЦХАР( педесет ),

одељење ВАРЦХАР( педесет )

);

Затим можемо да убацимо узорке података у табелу запосленог као што је приказано у следећим упитима:





УМЕТНИ У ВРЕДНОСТИ запослених (име, презиме, одељење).

( 'Алице' , 'смит' , 'Људски ресурси' ),

( 'Боб' , 'Јохнсон' , 'Маркетинг' ),

( 'Цхарлие' , 'Вилсон' , 'финансије' ),

( 'Давид' , 'браон' , 'Продаја' ),

( 'Ева' , 'Давис' , 'инжењеринг' );

Хајде да наставимо и направимо нову табелу за чување информација о платама на следећи начин:

КРЕИРАЈ ТАБЕЛУ плата (

салари_ид ИНТ АУТО_ИНЦРЕМЕНТ ПРИМАРИ КЕИ,

Емплоиее_ид ИНТ,

плата ДЕЦИМАЛ( 10 , 2 ),

датум_почетка ДАТЕ,

датум_завршетка ДАТЕ,

СТРАНИ КЉУЧ (емплоиее_ид) РЕФЕРЕНЦЕ запослени(емплоиее_ид)

);

Додајте узорак података за уметање у табелу на следећи начин:



ИНСЕРТ ИНТО платес (емплоиее_ид, салари, старт_дате, енд_дате) ВРЕДНОСТИ
( 1 , 60000.00 , '2023-01-01' , '2023-12-31' ),
( 2 , 55000.00 , '2023-01-01' , '2023-12-31' ),
( 3 , 65000.00 , '2023-01-01' , '2023-12-31' ),
( 4 , 58000.00 , '2023-01-01' , '2023-12-31' ),
( 5 , 70000.00 , '2023-01-01' , '2023-12-31' );

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

СКЛ спајање табела/придруживање табела

Хајде да истражимо различите врсте спајања табела које можемо да урадимо. Покрићемо основне док будемо напредовали до напреднијих.

ИННЕР ЈОИН

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

Узмимо табеле „запослени“ и „плате“ које смо раније креирали као примере. Да бисмо извршили ИННЕР ЈОИН у СКЛ-у, користимо клаузулу ИННЕР ЈОИН на следећи начин:

СЕЛЕЦТ

е.емплоиее_ид,

е.фирст_наме,

е.презиме,

е.одељење,

с.плата

ИЗ

запослени е

ИННЕР ЈОИН плате с НА

е.емплоиее_ид = с.емплоиее_ид;

У датом примеру упита користимо ИННЕР ЈОИН да спојимо табеле „запослени“ и „плате“ у колони „емплоиее_ид“ која постоји у обе табеле. Добијени скуп садржи само одговарајуће редове из обе табеле.

Пример излаза је следећи:

ЛЕФТ ОУТЕР ЈОИН

Такође имамо ЛЕФТ ОУТЕР ЈОИН који комбинује све редове из леве табеле и одговарајуће редове из десне табеле. Ако нема подударања у десној табели, спајање користи вредност НУЛЛ.

СЕЛЕЦТ

е.емплоиее_ид,

е.фирст_наме,

е.презиме,

е.одељење,

с.плата

ИЗ

запослени е

ЛЕФТ ЈОИН плате с

НА

е.емплоиее_ид = с.емплоиее_ид;

У овом примеру изводимо ЛЕФТ ОУТЕР ЈОИН да спојимо табеле „запослени“ и „плате“. Укључени су сви редови из табеле „запослени“ и додани су одговарајући редови из табеле „плате“. Међутим, НУЛЛ вредности су укључене у колону „плата“ за редове који се не подударају.

СКЛ УНИОН

Други метод спајања табела у СКЛ-у је коришћење УНИОН оператора. Овај оператор нам омогућава да комбинујемо резултате два или више изабраних исказа у један скуп резултата.

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

Пример је следећи:

СЕЛЕЦТ Емплоее_ид , фирст_наме , ласт_наме , Департмент , НУЛЛ АС плата

ОД запослених е

УНИЈА

СЕЛЕЦТ Емплоее_ид , НУЛЛ АС име , НУЛЛ АС презиме , НУЛЛ АС одељење , плата

ИЗ плата с ;

У овом случају, УНИЈА спаја табеле „запослени“ и „плате“. Затим креирамо НУЛЛ колоне у свакој СЕЛЕЦТ изјави како бисмо осигурали да обе табеле имају сличан број колона.

УНИОНИ су технички уобичајени, али могу бити корисни посебно када треба да спојите табеле са различитим структурама.

Закључак

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