SQL, a prisijungti naudojamas palyginti ir sujungti - pažodžiui sujungti - ir grąžinti konkrečias duomenų eilutes iš dviejų ar daugiau lentelių duomenų bazėje. An vidinis prisijungimas randa ir grąžina atitinkamus duomenis iš lentelių, o išorinis sujungimas randa ir grąžina atitinkamus duomenis ir kai kurie skirtingi lentelių duomenys.
Vidiniame sujungime daugiausia dėmesio skiriama dviejų lentelių bendrumui. Naudojant vidinį sujungimą, tarp dviejų (ar daugiau) palyginamų lentelių turi būti bent keletas atitikimo duomenų. Vidinis sujungimas ieško lentelių, kad atitiktų ar sutaptų duomenis. Ją radęs, vidinis sujungimas sujungia ir grąžina informaciją į vieną naują lentelę.
Panagrinėkime bendrą dviejų lentelių scenarijų: produktų kainos ir kiekiai. Bendra informacija dviejose lentelėse yra produkto pavadinimas, taigi tai yra loginis stulpelis, jungiantis lenteles apie. Yra keletas produktų, kurie yra įprasti dviejose lentelėse; kiti yra unikalūs vienoje iš lentelių ir neturi atitikties kitoje lentelėje.
Vidinis prisijungimas Produktai grąžina informaciją apie tik tuos produktus, kurie yra bendri abiejose lentelėse.
Išorinis sujungimas grąžina įrašų (arba eilučių) rinkinį, kuriame yra tai, ką grįš vidinis sujungimas, bet taip pat yra ir kitų eilučių, kurioms nerasta atitinkamos atitikties kitoje lentelėje.
Yra trys išorinių sujungimų tipai:
Kiekvienas iš šių išorinių sujungimų reiškia duomenų dalį, kuri yra lyginama, sujungiama ir grąžinama. Kartais šiame procese bus pateikiami niekiniai duomenys, nes dalis duomenų dalijamasi, o kiti ne.
Kairysis išorinis sujungimas grąžins visus 1 lentelės duomenis ir visus bendrai naudojamus duomenis (taigi, „Venn“ diagramos pavyzdžio vidinę dalį), bet tik atitinkamus duomenis iš 2 lentelės, kuri yra dešinė jungtis.
Mūsų duomenų bazės pavyzdyje yra du produktai - apelsinai ir pomidorai - „kairėje“ (Kainos lentelė), kurios „Dešinėje“ (Kiekių lentelė) nėra atitinkamo įrašo. Kairiajame sujungime šios eilutės įtraukiamos į rezultatų rinkinį su NULL stulpelyje Kiekis. Kitos rezultato eilutės sutampa su vidine jungtimi.
Dešinysis išorinis sujungimas grąžina 2 lentelės duomenis ir visus bendrai naudojamus duomenis, bet tik atitinkamus duomenis iš 1 lentelės, kuri yra kairioji jungtis.
Panašiai kaip kairiojo jungimo pavyzdyje, dešinysis išorinis sujungimas išveda visas vidinio sujungimo eilutes ir dvi eilutes - brokolius ir moliūgus - iš dešinės (Kiekiai lentelė), kurios kairėje pusėje nėra atitikimo įrašų.
Visiškas išorinis prisijungimas arba visiškas prisijungimas, kuris yra ne palaikomas populiarios „MySQL“ duomenų bazių valdymo sistemos, derina ir grąžina visi duomenys iš dviejų ar daugiau lentelių, neatsižvelgiant į tai, ar dalijamasi informacija. Galvokite apie visišką prisijungimą kaip tiesiog visos nurodytos informacijos kopijavimą, o ne vieną lentelę, o ne kelias lenteles. Jei trūksta atitikimo duomenų, bus pateikiami nuliniai duomenys.
Tai tik pagrindai, tačiau daug dalykų galima padaryti ir prisijungimais. Yra net jungčių, kurios gali pašalinti kitus prisijungimus!
Šis vaizdo įrašas paaiškina skirtingų tipų sujungimų skirtumus. Nurodoma pradėti nuo to momento, kai prasideda diskusija apie prisijungimus.