Разлика између унутрашње придруживања и спољне придруживања

Иннер Јоин вс Вањски Јоин

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

Шта је унутрашње придруживање?

Најчешће коришћена операција СКЛ придруживања је Унутрашње придруживање. Може се сматрати као подразумевани тип спајања који се користи у апликацијама. Унутрашње придруживање користите предикат придруживања да бисте комбиновали две табеле. Под претпоставком да су две табеле А и Б, тада ће предикат придруживања упоредити редове А и Б да би пронашао све парове који задовољавају предикат. Вредности ступаца свих задовољних редова табела А и Б комбинују се да би се добио резултат. Може се посматрати као прво узимање унакрсног спајања (картезијански производ) свих записа, а затим враћање само записа који задовољавају предикат придруживања. Међутим, у стварности се картезијански производ не израчунава јер је веома неефикасан. Уместо тога се користи комбиновано придруживање или сортирање спајања.

Шта је Спољашње Придруживање?

За разлику од, Унутрашње придруживање, вањско придруживање води све записе чак и ако не може пронаћи одговарајући запис. То значи да је спољном придруживању потребан запис да би пронашао одговарајући запис да би се приказао у резултату. Уместо тога, вратит ће све записе, али неуспоредиви записи ће имати нулте вриједности. Вањске везе су подијељене у три подкатегорије. Они су лијеви вањски спој, десни вањски спој и пуни вањски спој. Ово разликовање се заснива на томе која се ретка табеле (лева, десна или обе табеле) задржавају када се пронађу неусклађени записи. Лева спољна спајања (позната и као једноставно лево спајање) чува све записе леве табеле. То значи, чак и ако су записи који се подударају са бројем нула, онда ће и даље имати записе у резултатској табели, али ће имати нулте вредности за све ступце Б. Другим речима, све вредности из леве табеле се враћају са подударним вредностима с десне стране таблице (или нулл вредности ако нема подударања). Ако се вредности из више редова са леве табеле подударају са једним редом из десне табеле, ред из десне табеле ће се поновити по потреби. Десна вањска спојница је прилично слична лијевој вањској спојници, али третман таблица је поштован. То значи да ће резултат имати све редове десне таблице барем једном са подударним вриједностима лијеве таблице (и нулту вриједности за неусклађене десне вриједности). Потпуно спољашње спајање је свеобухватније од спољашњег левог и десног споја. Резултат је комбиновање ефекта примене леве и десне спољне стране спојене заједно.

Која је разлика између унутрашње придруживања и спољне придруживања?

Иннер Јоин не задржава неусклађене редове у резултату, али вањско придруживање ће чувати све записе из најмање једне табеле (у зависности од тога која је спољна придруженост коришћена). Дакле, понашање непостојања података у неусклађеним редовима у табели резултата је непожељно, увек морате користити једну од спољашњих спојева (уместо унутрашњег спајања). Унутрашње придруживање можда неће резултирати резултатом ако нису пронађени резултати. Али спољно спајање ће увек произвести резултирајућу табелу, чак и без подударних редова. Унутрашње придруживање ће увек враћати табеле са вредностима (ако се враћају). Али спољна спајања могу резултирати табелама са нултим вредностима.