Кључна разлика: Спајање у СКЛ се врши да би се комбиновали подаци из две различите табеле. Унутрашње придруживање је услов који резултира редовима који задовољавају "где" клаузулу у "свим табелама"; док је спољно придруживање услов који резултира у тим редовима који задовољавају 'где' клаузулу у "барем једној табели".
Приликом имплементације придруживања креирају се привремене табеле, које се заснивају на ступцима. Увек треба да постоје две табеле, за услове придруживања. Ови услови, затим спајају одговарајуће компоненте једне табеле са другим компонентама, и доводе до потпуно нове табеле. Циљ ових табела је да се извуку значајни и тражени подаци или информације. У зависности од услова, постоје два типа спојева, унутрашњи и спољашњи спојеви.
Синтакса СКЛ ИННЕР ЈОИН:
СЕЛЕЦТ име_ ступца
ФРОМ табле1
ИННЕР ЈОИН табела2
ОН табле1.цолумн_наме = табле2.цолумн_наме;
Кључна реч ИННЕР ЈОИН одабире све редове из обе табеле све док постоји подударност између колона у обе табеле.
Унутрашњи спојеви зависе од избора дизајна и карактеристика базе података. Сходно томе, ови унутрашњи спојеви се користе у Екуи-Јоинс и Натурал Јоинс. У Екуи Јоин-у постоји одређена врста поређења која се користи за изједначавање двију датих табела. Дакле, ова табела користи једнак предикат. Природно придруживање је врста Екуи споја.
Синтакса за Екуи Јоин је следећа:
С ЕЛЕЦТ *
ФРОМ табле1, табле 2
ВХЕРЕ табле1.цолоумн_наме = табле2.цолоумн_наме;
Ако колоне у екуи-јоин имају исто име, онда одговарајућа СКЛ верзија даје опционалну скраћеницу која се може изразити помоћу УСИНГ конструкта као:
СЕЛЕЦТ *
ФРОМ табле1 ИННЕР ЈОИН табела УСИНГ (цолумн_наме);
Синтакса за Натурал Јоин је следећа:
СЕЛЕЦТ *
ФРОМ табле1 НАТУРАЛ ЈОИН табле2;
"Спољашње придруживање" не захтева услове упаривања за записе. Ово стање повезивања одржава све остале записе, осим записа који се не подударају. Ово спајање се даље дистрибуира у левим, десним и пуним спољашњим условима спајања, који се имплементирају у складу са жељеним условима и атрибутима табеле.
Лефт Оутер Јоин
Кључна реч ЛЕФТ ЈОИН враћа све редове из леве табеле (табела1), са одговарајућим редовима у десној табели (табела2). Резултат је “НУЛЛ” на десној страни када нема подударања.
Синтакса за Лефт Оутер Јоин следи:
СЕЛЕЦТ име_ ступца
ФРОМ табле1
ЛЕФТ ОУТЕР ЈОИН табле2
ОН табле1.цолумн_наме = табле2.цолумн_наме;
Ригхт Оутер Јоин
Кључна реч РИГХТ ЈОИН враћа све редове из десне табеле (табела2), са одговарајућим редовима у левој табели (табела1). Резултат је НУЛЛ на левој страни када нема подударања.
Синтакса за Ригхт Оутер Јоин следи:
СЕЛЕЦТ име_ ступца
ФРОМ табле1
РИГХТ ОУТЕР ЈОИН табела2
ОН табле1.цолумн_наме = табле2.цолумн_наме;
Фулл Оутер Јоин
Кључна реч ФУЛЛ ОУТЕР ЈОИН враћа све редове из леве табеле (табела1) и десне табеле (табела2). Кључна ријеч ФУЛЛ ОУТЕР ЈОИН комбинира резултат ЛЕФТ и РИГХТ спојева.
Синтакса за Фулл Оутер Јоин је:
СЕЛЕЦТ име_ ступца
ФРОМ табле1
ФУЛЛ ОУТЕР ЈОИН табела2
ОН табле1.цолумн_наме = табле2.цолумн_наме;
Поређење између Унутрашњег Придруживања и Спољног Придруживања:
Иннер Јоин | Оутер Јоин | |
Основна функција | Унутрашњи спојеви се у основи користе за проналажење одговарајућих редова између 2 табеле. | Спољашње придруживање задржава редове табеле или обе табеле. |
Постојање уобичајених варијабли | Овде обична променљива мора бити обавезно у обе табеле. | Овде варијабла зависи само од прве табеле која може или не мора бити присутна у другој табели. |
Ретурнс | Унутрашње придруживање ће вратити само редове у којима постоји подударност на основу предиката придруживања. | Спољашње придруживање ће вратити све редове без обзира на то да ли се заснивају на подударности или се не подударају на основу предиката придруживања. |
Користи за | Користи се за преглед записа само када су записи присутни на обе табеле. | Користи се за преглед свих записа у само једној табели. |
Примјењиво у | Оне се примењују у: Екуи-Јоин и Натурал Јоин | Примјењују се као: Лефт Оутер Јоин Ригхт Оутер Јоин Фулл Оутер Јоин |