Skirtumas tarp kairiojo ir kairiojo jungčių

Kairysis prisijungimas vs kairysis išorinis prisijungimas

SQL jungtys yra naudojamos įrašams iš skirtingų duomenų rinkinių derinti. Sujungimas gali būti vidinis arba išorinis. Vidinis sujungimas grąžina įrašus, kurie atitinka abiejose lentelėse, o ne išorinį sujungimą, kuris yra priešingas vidiniam. Taigi išorinis sujungimas grąžina tuos įrašus, kurių atitikmenų nėra nė vienoje lentelėje. Žemiau aptariami dešiniojo išorinio ir kairiojojo išorinio sujungimo skirtumai.

Skirtumai

Kaip minėta anksčiau, vidinis sujungimas duos tik įrašų rinkinį, esantį dviejose palyginamose lentelėse. Kita vertus, visas išorinis sujungimas sukuria visą įrašų, esančių abiejose palyginamose lentelėse, rinkinį. Tuo atveju, jei atitikmenų nėra, trūkstamose rungtynėse bus nulis.

Kairėje išorinėje jungtyje bus visas įrašų, pateiktų iš pirmosios lentelės, rinkinys, o atitikimo rezultatai bus prieinami su jo rezultatais atitinkamoje lentelėje. Jei atitikmenų nėra, dešinėje pusėje bus nulis. Jei norite įrašyti įrašus tik kairėje, o ne dešinėje, reikia naudoti „kur“ sąlygą.

Norint sukurti unikalius lentelės įrašus dešinėje ir kairėje, rekomenduojama naudoti pilną išorinį sujungimą. Atlikus visą išorinį sujungimą, naudojama sąlyga „kur“, siekiant pašalinti rezultatus, kurie yra nepageidaujami tiek iš „dešinės“, tiek iš „kairės“ pusės. Be to, Dekarto jungtis gali būti naudojama norint padėti sujungti viską, kas kairėje ir dešinėje. Kartais tai gali būti ne tai, ko siekiama, bet tai, kas kartais atrodo. Prisijungimai sukuria galingą duomenų rinkinį, kuris suteikia iki 16 duomenų rinkinių eilučių, dažnai kur kas daugiau, nei tikimasi. Nors gaunate daugybę duomenų rinkinių, šie sujungimai yra ypač pavojingi, nes nedidelis nesuderinamumas gali sugadinti visą sistemą.

Jei turite reikalų su projektu, kuris taip pat siekia suderinti „Microsoft SQL“ serverį, naudą turės kairiosios išorinės jungtys. Grįžimo seka prasideda nuo to, kai pirmiausia grąžinami vidiniai įrašai, po to eina dešiniojo prisijungimo įrašai ir galiausiai kairiųjų įrašų sujungimas. Naudojant kairįjį arba kairįjį išorinį prisijungimo teiginį SQL aplinkoje bus kalbama apie tą patį teiginį. Tai iš esmės reiškia, kad nėra jokio skirtumo, kokio rezultato tikimasi, ar naudojamas kairysis sujungimas, ar naudojamas kairysis išorinis sujungimas. Rezultatas bus panašus, nebent aplinka būtų „Microsoft SQL“ serveryje. Išorinį raktinį žodį galima naudoti ar net praleisti nesijaudinant, nes rezultatai niekuo nesiskiria.

Santrauka

Prisijungimai naudojami SQL, norint palyginti įvairius duomenų rinkinius

Vidinis sujungimas sukuria tik įrašų rinkinį, esantį dviejose palyginamose lentelėse

Išorinis sujungimas sukuria visų įrašų, esančių abiejose tiriamose lentelėse, rinkinį

„Kur“ sakinys, naudojamas unikaliems įrašams gaminti panaudojus visišką prisijungimą

Dekarto jungtis susieja ir kairįjį, ir dešinįjį lentelės elementus.

Yra pastebimas skirtumas, kai kairioji ir kairioji išorinė jungtys naudojamos naudojant „Microsoft SQL“ serverį

Apskritai, kairiosios jungties arba kairiojo išorinio prisijungimo teiginio vartojimas reiškia tą patį teiginį. Kadangi nėra skirtumo, rekomenduojama naudoti kairįjį išorinį sujungimą.