Razlike između lijevo i pravo pridružiti

Anonim

Lijevo od pravog pridruživanja

Kada se bave SQL, pridruživanje je uobičajeno ime koje će se pojaviti svaki sada i onda. Klauzula za pridruživanje pomaže u kombinaciji zapisa iz različitih tablica u skupu podataka. Spojiti u stvarnosti stvara tablicu koja se može upotrijebiti kao takva ili izbačena s drugima. Stoga je poželjno razumjeti ove veze i razlike između njih kako bi se upoznali s određenim pridruživanjem, te treba li se desno ili lijevo uzeti u posebnim slučajevima.

Da biste bolje razumjeli veze i njihove razlike, važno je razumjeti vrste dostupnih veza. Općenito postoje tri vrste spajanja. Ti spojevi uključuju unutarnju vezu, križnu vezu i vanjsku vezu. Unutarnji pridruživanje općenito uspoređuje tablice i samo će dati ili vratiti rezultat u slučaju da se pronađe utakmica. Glavna funkcija unutarnjeg spajanja je smanjiti veličinu skupova rezultata.

S druge strane, križne veze uspoređuju dvije tablice i daju povrat svake i svake moguće kombinacije iz redaka obje tablice. Očekuju se brojni rezultati iz ovog pridruživanja, a većina njih možda čak i nije ni smisla. Korištenje ovog pridruživanja treba stoga biti oprezno prakticirano.

Vanjsko pridruživanje uzima usporedbu tablica i vraća podatke kada je utakmica dostupna. Kao što se vidi u unutarnjem spajanju, vanjsko pridruživanje duplicira redove u određenoj tablici u slučaju da se prate podaci. Rezultati vanjskih spojeva obično su veći, pa su skupovi podataka veliki jer se skup u sebi ne uklanja iz skupa.

Lijevi pridruživanje odnosi se na zadržavanje svih zapisa iz prve tablice bez obzira na rezultat i umetanje NULL vrijednosti kada druga vrijednost tablice ne odgovara. Pravo pridruživanje, s druge strane, odnosi se na čuvanje svih zapisa koji dolaze iz druge tablice bez obzira na to što je rezultat i upotreba NULL vrijednosti kada se rezultati ne podudaraju s onima iz prve tablice.

Lijeva vanjska veza stoga zadržava sve redove koji se nalaze u 'lijevoj' tablici bez obzira na to postoji li redak koji odgovara toj desnoj tablici. Lijeva tablica stoga se odnosi na tablicu koja dolazi prvo u zajedničkoj izjavi. Treba se pojaviti lijevo od ključne riječi "pridruživanje" koja se pojavljuje na stolu. Kad se završi lijeva vanjska veza, svi redci s lijeva trebaju biti vraćeni. Podudarni stupci u tablici popunit će se s NULL-om kad god ne bude podudaranje.

Važno je napomenuti da se pri rješavanju ovih dviju spajanja svi redci s lijeve strane tablice prikazuju u tablici lijevog vanjskog pridruživanja. Rezultati se prikazuju bez obzira na to jesu li odgovarajući stupci prisutni u desnoj tablici. U desnom vanjskom pridruživanju prikazani su svi redci s desne i to bez obzira na to postoje li podudarni stupci na lijevoj strani tablice.

Izbor hoće li ići lijevu vanjsku vezu ili desni vanjski spoj ne važi kao što su prikazani isti rezultati. Funkcionalnost koja ima pravo vanjsko spajanje predstavlja istu funkcionalnost koju predstavlja lijevi ekstremni spoj. Jednostavnim prebacivanjem redoslijeda u kojem se tablice pojavljuju u SQL izrazu, možete očekivati ​​slične rezultate, neovisno o pridruženom pridruživanju.

Sažetak

Spajanja dolaze u tri glavne skupine - unutarnji spajanje, križ i zvuk pridruživanja

Lijeva vanjska veza prikazuje sve redove s lijeve strane tablice

Pravo pridruživanje prikazuje sve redove s desne strane tablice

Zamjenska SQL sekvenca može ukloniti upotrebu vanjskih i vanjskih veza desne i lijeve strane, a umjesto toga koristiti samo jedan.