În SQL, a a adera este folosit pentru a compara și a combina - literal alinia - și a returna rânduri specifice de date din două sau mai multe tabele într-o bază de date. Un Intrarea internă găsește și returnează datele potrivite din tabele, în timp ce un exterior se alătură găsește și returnează date potrivite și unele date diferite de la tabele.
Un cuplu interior se concentrează asupra caracterului comun între două mese. Atunci când se utilizează o îmbinare interioară, trebuie să existe cel puțin unele date potrivite între două (sau mai multe) tabele care sunt comparate. Un cuplu interior caută tabele pentru potrivirea sau suprapunerea datelor. La găsirea acesteia, îmbinarea interioară combină și returnează informațiile într-o singură masă nouă.
Să luăm în considerare un scenariu comun de două tabele: prețurile produselor și cantitățile. Informațiile obișnuite din cele două tabele sunt numele produsului, deci este coloana logică pentru a intra în tabele pe. Există câteva produse care sunt comune în cele două tabele; altele sunt unice la un tabel și nu au un meci în celălalt tabel.
O intrare internă Produse returnează informații despre acele produse care sunt comune în ambele tabele.
O unitate externă returnează un set de înregistrări (sau rânduri) care includ ceea ce s-ar întoarce o intrare internă, dar include și alte rânduri pentru care nu se găsește o potrivire corespunzătoare în cealaltă tabelă.
Există trei tipuri de îmbinări exterioare:
Fiecare dintre aceste legături externe se referă la o parte a datelor care sunt comparate, combinate și returnate. Uneori vor fi produse null-uri în acest proces deoarece unele date sunt partajate în timp ce alte date nu sunt.
O unitate exterioară din stânga va returna toate datele din Tabelul 1 și toate datele partajate (astfel, partea interioară a exemplului diagramei Venn), dar numai datele corespunzătoare din Tabelul 2, care reprezintă intrarea corectă.
În baza noastră de date, există două produse - portocale și roșii - pe "stânga" (Preturi tabel) care nu au o intrare corespunzătoare în "dreapta" (tabelul Cantități). Într-o îmbinare stângă, aceste rânduri sunt incluse în setul de rezultate cu un NULL în coloana Cantitate. Celelalte rânduri din rezultat sunt identice cu cele ale îmbinării interioare.
O intrare exterioară dreaptă returnează datele de la tabelul 2 și toate datele partajate, dar numai datele corespunzătoare din tabelul 1, care reprezintă partea din stânga.
Similar exemplului din partea stângă, ieșirea unui exterior exterior drept include toate rândurile de îmbinare interioară și două rânduri - broccoli și squash - de la "dreapta" (cantităţi tabel) care nu au intrări corespunzătoare în stânga.
O îmbinare completă exterioară sau o îmbinare completă, care este nu susținută de sistemul popular de gestionare a bazelor de date MySQL, combină și întoarce toate date din două sau mai multe tabele, indiferent dacă există informații partajate. Gândiți-vă la o participare completă, deoarece duplicarea tuturor informațiilor specificate, dar într-un singur tabel, în loc de mai multe tabele. În cazul în care lipsesc date de potrivire, se vor produce nuluri.
Acestea sunt doar elementele de bază, dar multe lucruri se pot face cu ajutorul conexiunilor. Există chiar și unități care pot exclude alte conexiuni!
Acest videoclip explică diferența dintre diferitele tipuri de conexiuni. Este inutil sa inceapa in punctul in care incepe discutia despre asociere.