Unutarnja pridruživanje prema vanjskoj Pridruži se


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.

Prijavi ovaj oglas

Unutarnja Pridružite se

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.

Primjer unutarnje pridruživanja

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.

Vanjski Pridružite se

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:

  • Lijevo vanjsko spajanje (ili lijevo spajanje)
  • Pravo vanjsko spajanje (ili pravo pridruživanje)
  • Potpuno vanjsko pridruživanje (ili potpuno pridruživanje)

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

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.

Primjer lijevog pridruživanja

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.

Pravo vanjsko pridruživanje

Desni vanjski spoj vraća podatke tablice 2 i sve dijeljene podatke, ali samo odgovarajuće podatke iz tablice 1, što je lijevo spajanje.

Primjer desnog pridruživanja

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.

Potpuna vanjska prijava

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!

Video koji objašnjava unutarnju i vanjsku spajanje

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.

Reference

  • Razlika između unutarnjeg i vanjskog spajanja - Prelijevanje snopa
  • SQL Inner Join - Quackit
  • Pridružite se SQL vanjskom - Quackit
  • Korištenje unutarnjih spajanja - Microsoft SQL Server
  • Korištenje vanjskih spajanja - Microsoft SQL Server
  • Vizualno predstavljanje SQL pridruživanja - CodeProject
  • Wikipedia: Pridružite se (SQL)