SQL, a pievienoties tiek izmantots, lai salīdzinātu un apvienotu - burtiski pievienotos - un atgrieztu īpašas datu rindas no divām vai vairākām tabulām datu bāzē. An iekšējā pievienošanās atrod un atgriež atbilstošus datus no tabulām, bet ārējais savienojums atrod un atgriež atbilstošos datus un daži atšķirīgi dati no tabulām.
Iekšējais savienojums koncentrējas uz divu tabulu kopīgumu. Izmantojot iekšējo savienojumu, starp divām (vai vairākām) salīdzināmajām tabulām ir jābūt vismaz dažiem atbilstošajiem datiem. Iekšējā savienojumā tiek meklētas tabulas, lai iegūtu atbilstošus vai pārklājošos datus. Atrodot to, iekšējais savienojums apvieno un atdod informāciju vienā jaunā tabulā.
Apsvērsim kopēju divu tabulu scenāriju: produktu cenas un daudzumi. Abās tabulās vispārīgā informācija ir produkta nosaukums, tātad loģiskā kolonna ir tabulu pievienošanai ieslēgts. Ir daži produkti, kas abās tabulās ir raksturīgi; citi ir raksturīgi tikai vienam no galdiem, un otrai tabulai nav atbilstības.
Iekšēja pievienošanās Izstrādājumi atgriež informāciju par tikai tiem produktiem, kas ir izplatīti abās tabulās.
Ārējais savienojums atgriež ierakstu (vai rindu) kopu, kurā ir iekļauts tas, ko atgriezīs iekšējais savienojums, bet iekļautas arī citas rindas, kurām attiecīgajā tabulā nav atrasta atbilstoša atbilstība.
Pastāv trīs ārējo savienojumu veidi:
Katrs no šiem ārējiem savienojumiem attiecas uz datu daļu, kas tiek salīdzināta, apvienota un atgriezta. Dažreiz šajā procesā tiks izveidoti nulles, jo daži dati tiek koplietoti, bet citi nav.
Kreisais ārējais savienojums parādīs visus datus 1. tabulā un visus koplietotos datus (tātad Vennas diagrammas piemēra iekšējo daļu), bet tikai atbilstošos datus no 2. tabulas, kas ir labā savienojums.
Mūsu datu bāzes piemērā kreisajā pusē ir divi produkti - apelsīni un tomāti (Cenas tabula), kam nav atbilstoša ieraksta labajā pusē (Daudzumu tabula). Kreisajā savienojumā šīs rindas tiek iekļautas rezultātu komplektā ar NULL kolonnā Daudzums. Citas rezultāta rindas ir tādas pašas kā iekšējā savienojuma.
Labais ārējais savienojums atgriež 2. tabulas datus un visus koplietotos datus, bet tikai atbilstošos datus no 1. tabulas, kas ir kreisās puses savienojums.
Līdzīgi kā kreisās pievienošanās piemērs, labās ārējās savienojuma izvade ietver visas iekšējās savienojuma rindas un divas rindas - brokoļus un skvošu - no “labās” (Daudzumi tabula), kuras kreisajā pusē nav atbilstošu ierakstu.
Pilnīga ārējā pievienošanās vai pilnīga pievienošanās, kas ir nē ko atbalsta populārā MySQL datu bāzes pārvaldības sistēma, apvieno un atdod visiem datus no divām vai vairākām tabulām neatkarīgi no tā, vai ir kopīga informācija. Iedomājieties pilnīgu pievienošanos kā visas norādītās informācijas kopēšanu, bet tikai vienā tabulā, nevis vairākās tabulās. Ja trūkst atbilstošu datu, tiks izveidoti nulles.
Šie ir tikai pamati, bet daudzas lietas var izdarīt arī ar pievienošanos. Ir pat pievienošanās, kas var izslēgt citas pievienošanās!
Šis video izskaidro atšķirību starp dažādiem savienojumiem. Tas ir sagatavots, lai sāktu tajā vietā, kur sākas diskusija par pievienošanos.