Razlika SQL med operatorji Union, Union All in Union Distinct

Razlika Sql Med Operatorji Union Union All In Union Distinct



SQL nam ponuja operator UNION, ki nam omogoča združevanje nizov rezultatov dveh ali več stavkov SELECT v en sam niz rezultatov. V SQL obstajajo tri glavne vrste operatorjev UNION: UNION, UNION ALL in UNION DISTINCT.

Ta vadnica raziskuje te tri vrste UNIONS in nudi resnične in praktične primere dela z njimi.







OPOMBA: V tem primeru bomo za namene predstavitve uporabili vzorčno zbirko podatkov Sakila. Pred izvajanjem teh ukazov se prepričajte, da je nameščen. Če želite izvedeti več, si oglejte našo vadnico o tem.



Operator UNION SQL

Kot smo že omenili, nam operator UNION omogoča združevanje nabora rezultatov dveh ali več izbranih stavkov in odstranitev podvojenih vrednosti. Sintaksa operatorja UNION je naslednja:



IZBERI stolpec1, stolpec2, ...
IZ tabele 1
UNION
IZBERI stolpec1, stolpec2, ...
IZ tabele2;


V sintaksi prejšnjega primera uporabljamo stavke SELECT za pridobivanje podatkov iz navedenih tabel. Operator UNION nato združi dva niza rezultatov v en niz. Vzemimo primer, kako to storiti z uporabo tabele igralcev, ki je definirana v bazi podatkov Sakila.





Razmislite o naslednjem primeru poizvedbe, ki pridobi ime in priimek akterjev iz tabele akterjev in tabele strank:

IZBERI ime, priimek
OD igralca
UNION
IZBERI ime, priimek
OD stranke; IZBERI ime, priimek
OD igralca
UNION
IZBERI ime, priimek
OD stranke;


Prejšnja poizvedba poišče imena in priimke iz tabel akterjev in strank ter vrne vrednosti kot en sam rezultat.



Primer izhoda je naslednji:

Operator SQL UNION ALL

Za razliko od operatorja UNION, ki odstrani podvojene vrednosti iz niza rezultatov, operater UNION vrne vse vrstice tabel, vključno s podvojenimi.

Sintaksa je naslednja:

IZBERI stolpec1, stolpec2, ...
IZ tabele 1
UNION VSI
IZBERI stolpec1, stolpec2, ...
IZ tabele2;


Naslednji primer izbere ime in priimek iz tabel igralcev in strank v bazi podatkov Sakila:

IZBERI ime, priimek
OD igralca
UNION VSI
IZBERI ime, priimek
OD stranke;


Primer izhoda je naslednji:

Operator SQL UNION DISTINCT

Druga vrsta operatorja unije je UNION DISTINCT. Ta operator je preprosto dvojnik operatorja UNION, ki izvaja podobno dejanje.

Sintaksa je naslednja:

IZBERI stolpec1, stolpec2, ...
IZ tabele 1
UNION DISTINCT
IZBERI stolpec1, stolpec2, ...
IZ tabele2;


Stavki SELECT pridobijo podatke iz podanih tabel, operator UNION DISTINCT pa združi nize rezultatov v en sam niz rezultatov, ki vključuje edinstvene vrstice.

V primeru baze podatkov Sakila lahko zaženemo naslednji ukaz:

IZBERI ime, priimek
OD igralca
UNION DISTINCT
IZBERI ime, priimek
OD stranke;


To bi moralo vrniti podoben rezultat kot operater UNION.

Zaključek

Naučili smo se delati z različnimi vrstami UNIONS v SQL. Operator UNION združi nabor rezultatov dveh ali več izbirnih stavkov in odstrani podvojene zapise. UNION ALL izvede podobno dejanje, vendar vključuje vse podvojene vrstice. Nazadnje je UNION DISTINCT identičen izvornemu operaterju UNION.