U SQL-u, a pridružiti koristi se za usporedbu i kombiniranje - doslovno spajanje - i vraćanje određenih redaka podataka iz dvije ili više tablica u bazu podataka. unutarnje spajanje pronalazi i vraća podudarne podatke iz tablica, a vanjski spoj nalazi i vraća odgovarajuće podatke i neki različiti podaci iz tablica.
Unutrašnje spajanje usredotočeno je na zajedništvo između dva stola. Kada koristite unutarnje spajanje, mora biti barem nekoliko podataka koji se podudaraju između dvije (ili više) tablica koje se uspoređuju. Unutarnje spajanje pretražuje tablice za podudaranje ili preklapanje podataka. Nakon što ga pronađe, unutarnji spoj kombinira i vraća informacije u jednu novu tablicu.
Razmotrimo zajednički scenarij dviju tablica: cijene proizvoda i količine. Uobičajene informacije u dvije tablice su naziv proizvoda, tako da je to logični stupac za pridruživanje tablicama na. Postoje neki proizvodi koji su uobičajeni u dvije tablice; ostale su jedinstvene za jednu tablicu i nemaju podudaranje u drugoj tablici.
Unutrašnje spajanje proizvodi vraća podatke o samo onim proizvodima koji su uobičajeni u obje tablice.
Vanjsko pridruživanje vraća skup zapisa (ili redaka) koji uključuju ono što bi se vratilo unutarnje pridruživanje, ali uključuje i druge retke za koje u drugoj tablici nije pronađeno odgovarajuće podudaranje.
Postoje tri vrste vanjskih spojeva:
Svaka od tih vanjskih spajanja odnosi se na dio podataka koji se uspoređuje, kombinira i vraća. Ponekad će se u ovom procesu stvoriti nule jer se neki podaci dijele, a drugi se ne.
Lijevo vanjsko spajanje vratit će sve podatke u tablici 1 i sve dijeljene podatke (dakle, unutarnji dio primjera Venn dijagrama), ali samo odgovarajuće podatke iz tablice 2, što je desno spajanje.
U našoj primjeri baze podataka nalaze se dva proizvoda - naranče i rajčice - s lijeve strane (cijene tablica) koji nemaju odgovarajući unos u 'pravom' (tablica Količine). U lijevom spajanju ovi se redovi uključuju u set rezultata s NULL u stupcu Količina. Ostali redovi u rezultatu isti su kao i unutarnji spoj.
Desni vanjski spoj vraća podatke tablice 2 i sve dijeljene podatke, ali samo odgovarajuće podatke iz tablice 1, što je lijevo spajanje.
Slično lijevom primjeru spajanja, izlaz desnog vanjskog spoja uključuje sve redove unutarnjeg spoja i dva reda - brokule i tikvice - iz 'desnog' (količine tablica) koji na lijevoj strani nemaju odgovarajuće unose.
Potpuni vanjski spoj, ili potpuno spajanje, što je ne podržava popularni MySQL sustav za upravljanje bazama podataka, kombinira i vraća svi podaci iz dvije ili više tablica, bez obzira na to postoje li zajedničke informacije. Pomislite na potpuno pridruživanje kao na jednostavno dupliciranje svih navedenih podataka, ali u jednoj tablici, a ne u više tablica. Ako nedostaju odgovarajući podaci, bit će proizvedene nule.
To su samo osnove, ali mnoge se stvari mogu učiniti spajanjem. Postoje čak i pridruživanja koja mogu isključiti druga spajanja!
Ovaj videozapis objašnjava razliku između različitih vrsta spajanja. Predlaže se da započnemo na mjestu gdje započinje rasprava o spajanju.