
Primerjalna tabela
Podlaga za primerjavo | Levo Outer Join | Desno Zunaj Pridružite se | Full Outer Join |
---|---|---|---|
Osnovno | Vse nalepke leve tabele ostanejo v rezultatu. | Vse nize desne tabele ostanejo v rezultatu. | Vse nalepke z leve in desne mize ostanejo v rezultatu. |
Razširitev NULL | Zapisi leve tabele, ki nimajo ujemajoče tipke v desni tabeli, so razširjeni z vrednostjo NULL za atribute desne tabele. | Zapisi desne tabele, ki nimajo ujemajoče tipke v levi tabeli, so razširjeni z vrednostjo NULL za atribute leve tabele. | Zapisi leve in desne tabele, ki nimajo ujemajočih zaporedij v desni in levi tabeli, so razširjeni z vrednostjo NULL za atribute desnih in levih tabel. |
Opredelitev levega zunanjega pridružite
Recimo, da imamo: » Tabela_A Levo Zunanje Pridružite Tabelo_B «. Torej je Table_A naša leva miza, kot se zdi na levi strani levega Outer Join operacije in Table_B je naša desna tabela.
Na začetku se notranje povezovanje uporabi na Table_A in Table_B, ki vrne vse ujemajoče nalepke iz tabele A in B.
Nato bo vrnila vse tuple iz Table_A, ki nimajo ujemajočega tuple v Table_B. Takšne, da bi bile rezultantne tuple podložene z vrednostmi NULL za atribute desne tabele.
Zato rezultat, ki ga dobimo iz levega zunanjega združenja, zadrži vse nalepke iz leve mize in se ujemajo samo z desno tabelo.
Dovolite nam, da razpravljamo o Levi zunanji pridružitvi z zgledom; spodaj sta dve tabeli, tabela učencev in tabela oddelkov .

Zdaj bomo uporabili levo zunanjo pridružitev, na tabeli študentov in oddelkov.
SELECT * FROM Študent LEFT OUTER JOIN Oddelek
ON Študent. Student_ID = Oddelek.Student_ID
V zgornji poizvedbi je tabela Študent leva miza in tabela Oddelek je desna tabela. Torej, v skladu z levo zunanjo pridružitvijo, mora imeti rezultat vse zapise iz tabele učencev, in le ujemanje tuples iz tabele oddelka.

Opredelitev prave zunanje povezave
Recimo, da imamo: » Table_A Desni Zunanji Pridruži Tabela_B «. Torej je Table_A naša leva miza, ki se pojavi na levi strani desnega dela Outer Join in Table_B je naša desna tabela.
Tako kot v levi zunanji povezavi se bo na začetku notranja povezava uporabila za Table_A in Table_B, ki bo vrnila vse ujemajoče nalepke iz tabele A in B.
Nato bo vrnil vse zapise iz Tabele_B, ki nimajo ujemajočega tuple v Tabeli_A. Takšne, da bi bile rezultantne tuple podložene z vrednostmi NULL za atribute leve tabele.
Zato rezultat, dobljen iz desnega zunanjega združevanja, zadrži vse nalepke desne tabele in se ujemajo le z leve tabele.
Naj na primer razpravljamo o Zunanji Zunanji Pridruži; zgoraj imamo dve tabeli, tabelo učencev in tabelo oddelkov.
Zdaj bomo uporabili desno zunanjo mizo in tabelo oddelkov.
SELECT * FROM Študent RIGHT OUTER JOIN Oddelek
ON Študent. Student_ID = Oddelek.Student_ID
V zgornji poizvedbi je tabela učencev naša leva miza in namizna tabela je naša desna miza. Glede na desno zunanjo operacijo združevanja, mora rezultat vključevati vse zapise iz tabele oddelkov in le ujemajočo točko iz učne tabele.

Opredelitev celotne zunanje povezave
Recimo, da imamo: » Table_A Full Outer Join Table_B «. Torej je Table_A naša leva miza, kot se zdi na levi od Full Outer Join operacije in Table_B je naša desna tabela.
Polna zunanja povezava je kombinacija obeh, levega zunanjega pridružitvenega in desnega zunanjega . Prvotno uporablja notranjo povezavo na Table_A in Table_B za pridobitev ujemajočih tuples iz obeh tabel. Potem razširi tuple Table_A z NULL, ki nimajo ujemajočega tuple v Table_B. Nadalje razširja tuple iz Table_B z NULL, ki nimajo ujemajočega tuple v Table_A.
Zato Full Outer Join obdrži vse nalepke z leve in desne tabele, skupaj z zaporedjem obeh tabel.
Oglejmo si FULL Outer Join s primerom; zgoraj imamo dve tabeli, tabelo učencev in tabelo oddelkov .
Zdaj bomo uporabili polno zunanjo mizo in tabelo oddelka.
SELECT * FROM Študent FULL OUTER JOIN Oddelek
ON Študent. Student_ID = Oddelek.Student_ID
V zgornji poizvedbi je tabela učencev naša leva miza, namizna tabela pa je naša desna miza. Glede na Full Outer Join, mora rezultat vključevati vse tuples iz obeh tabel.

Ključne razlike med levo, desno in polno zunanjo povezavo
- Rezultat levega zunanjega povezovanja ima vse zapise leve tabele. Podobno je rezultat desnega zunanjega povezovanja vse zapise desne tabele. In rezultat Full Outer Join ima vse torke z leve in desne mize.
- V levi zunanji povezavi se zapisi leve tabele, ki nimajo ujemajoče tipke v desni tabeli, razširijo z vrednostmi Null za atribute desne tabele. Nasprotno je primer za desno zunanjo povezavo. V polni zunanji povezavi pa se nalepke iz leve in desne tabele, ki nimajo ujemajočih zaporedij v desni in levi tabeli, razširijo z NULL za atribute desne in leve tabele.
Sklep:
Poskrbite za položaje imen tabel v poizvedbi. Ker položaj imena tabele v poizvedbi določa, ali se tabela obravnava kot leva tabela ali desna tabela.