Ključna razlika: Združevanje v SQL se izvaja za združevanje podatkov dveh različnih tabel. Inner Join je pogoj, ki ima za posledico vrstice, ki izpolnjujejo 'where' člen v 'vseh tabelah'; ker je zunanja pridružitev pogoj, ki ima za posledico tiste vrstice, ki izpolnjujejo klavzulo „kjer“ v „vsaj eni tabeli“.
Pri izvajanju pridružitev se ustvarijo začasne tabele, ki temeljijo na stolpcih. Obstajata vedno dve tabeli za pogoje pridružitve. Ti pogoji nato združijo posamezne komponente ene tabele z drugimi komponentami in povzročijo povsem novo tabelo. Cilj teh tabel je pridobiti pomembne in zahtevane podatke ali informacije. Odvisno od pogojev, obstajata dve vrsti spojev, notranji in zunanji spoji.
Skladnja SQL INNER JOIN:
SELECT ime-stolpca
FROM tabela1
Tabela INNER JOIN2
ON table1.column_name = table2.column_name;
Ključna beseda INNER JOIN izbere vse vrstice iz obeh tabel, če se ujemajo stolpci v obeh tabelah.
Notranji priključki so odvisni od izbire modelov in značilnosti baze podatkov. V skladu s tem se ti notranji spoji uporabljajo v Equi-Joins in Natural Joins. V Equi pridružitvi obstaja specifična vrsta primerjave, ki se uporablja za izenačitev dveh danih tabel. Zato ta tabela uporablja enak predikat. Naravna pridružitev je vrsta združitve Equi.
Skladnja za pridružitev Equi je naslednja:
S ELECT *
FROM tabela 1, tabela 2
WHERE tabela1.coloumn_name = table2.coloumn_name;
Če imajo stolpci v equi-join enako ime, potem ustrezna različica SQL zagotavlja neobvezno kratico, ki jo lahko izraz USING izrazi kot:
SELECT *
FROM tabela1 INNER JOIN tabela2 UPORABA (ime-stolpca);
Skladnja za Natural Join je naslednja:
SELECT *
FROM tabela1 NATURAL JOIN tabela2;
"Zunanja povezava" ne potrebuje pogojev ujemanja za zapise. Pogoj pridružitve ohranja vse druge zapise, razen neporavnanih zapisov. Ta povezava se nadalje porazdeli v levem, desnem in polnem zunanjem pogoju združevanja, ki se izvaja v skladu z želenimi pogoji in atributi tabele.
Levo Outer Join
Ključna beseda LEFT JOIN vrne vse vrstice iz leve tabele (tabela1), z ustreznimi vrsticami v desno tabelo (tabela2). Rezultat je »NULL« na desni strani, ko ni ujemanja.
Sintaksa levega zunanje povezave sledi:
SELECT ime-stolpca
FROM tabela1
LEFT OUTER JOIN tabela2
ON table1.column_name = table2.column_name;
Desno Zunaj Pridružite se
Ključna beseda RIGHT JOIN vrne vse vrstice iz desne tabele (tabela2), pri čemer se ujemajo vrstice v tabeli levo (tabela 1). Rezultat je NULL na levi strani, ko ni ujemanja.
Sintaksa za desno zunanjo povezavo sledi:
SELECT ime-stolpca
FROM tabela1
RIGHT OUTER JOIN tabela2
ON table1.column_name = table2.column_name;
Full Outer Join
Ključna beseda FULL OUTER JOIN vrne vse vrstice iz leve tabele (tabela 1) in desne tabele (tabela 2). Ključne besede FULL OUTER JOIN združujejo rezultat levega in desnega združevanja.
Skladnja za Full Outer Join je:
SELECT ime-stolpca
FROM tabela1
FULL OUTER JOIN tabela2
ON table1.column_name = table2.column_name;
Primerjava med notranjo povezavo in zunanjo povezavo:
Inner Join | Outer Join | |
Osnovna funkcija | Notranji priključki se v osnovi uporabljajo za iskanje ustreznih vrstic med dvema tabelama. | Zunanja združitev ohrani vrstice tabele ali obeh tabel. |
Obstoj skupnih spremenljivk | Tu mora biti skupna spremenljivka obvezno v obeh tabelah. | Tu je spremenljivka odvisna samo od prve tabele, ki je lahko prisotna v drugi tabeli. |
Vrne | Notranje združevanje bo vrnilo samo vrstice, v katerih se ujema s predikatom pridružitve. | Zunanja povezava bo vrnila vse vrstice, ne glede na to, ali temeljijo na tekmi, ali pa na podlagi predikata pridružitve. |
Navajen | Uporablja se za ogled zapisov samo, če so zapisi prisotni na obeh tabelah. | Uporablja se za ogled vseh zapisov v samo eni tabeli. |
Velja za | Uporabljajo se v: Equi-Join in Natural Join | Uporabljajo se kot: Levo Outer Join Desno Zunaj Pridružite se Full Outer Join |