SQL atšķirība starp Union, Union All un Union Distinct operatoriem

Sql Atskiriba Starp Union Union All Un Union Distinct Operatoriem



SQL nodrošina mums UNION operatoru, kas ļauj apvienot divu vai vairāku SELECT priekšrakstu rezultātu kopas vienā rezultātu kopā. SQL ir trīs galvenie UNION operatoru veidi: UNION, UNION ALL un UNION DISTINCT.

Šajā apmācībā ir apskatīti šie trīs SAVIENĪBU veidi un sniegti reāli un praktiski piemēri darbam ar tiem.







PIEZĪME: Šajā piemērā demonstrācijas nolūkos izmantosim Sakila datu bāzes paraugu. Pirms šo komandu izpildes pārliecinieties, vai tā ir instalēta. Lai uzzinātu vairāk, varat skatīt mūsu apmācību par to.



SQL UNION operators

Kā minēts, UNION operators ļauj mums apvienot divu vai vairāku atlases paziņojumu rezultātu kopu un noņemt dublētās vērtības. Operatora UNION sintakse ir šāda:



ATLASĪT kolonnu 1, kolonnu 2, ...
NO tabulas1
SAVIENĪBA
ATLASĪT kolonnu 1, kolonnu 2, ...
NO tabulas2;


Iepriekšējā sintakses piemērā mēs izmantojam SELECT priekšrakstus, lai izgūtu datus no norādītajām tabulām. Pēc tam UNION operators apvieno abas rezultātu kopas vienā komplektā. Ņemsim piemēru, kā to izdarīt, izmantojot Sakila datubāzē definēto aktieru tabulu.





Apsveriet šādu vaicājuma piemēru, kas izgūst dalībnieku vārdus un uzvārdus no dalībnieku tabulas un klienta tabulas:

SELECT vārds_vārds, uzvārds
NO aktiera
SAVIENĪBA
SELECT vārds_vārds, uzvārds
NO klienta; SELECT vārds_vārds, uzvārds
NO aktiera
SAVIENĪBA
SELECT vārds_vārds, uzvārds
NO klienta;


Iepriekšējais vaicājums ievieš vārdu un uzvārdu gan no dalībnieku, gan klientu tabulām un atgriež vērtības kā vienu rezultātu.



Izvades piemērs ir šāds:

SQL UNION ALL operators

Atšķirībā no operatora UNION, kas no rezultātu kopas noņem vērtību dublikātus, operators UNION atgriež visas tabulu rindas, tostarp dublikātus.

Sintakse ir šāda:

ATLASĪT kolonnu 1, kolonnu 2, ...
NO tabulas1
SAVIENĪBA VISU
ATLASĪT kolonnu 1, kolonnu 2, ...
NO tabulas2;


Šajā piemērā Sakila datubāzē ir atlasīts vārds un uzvārds no dalībnieku un klientu tabulām:

SELECT vārds_vārds, uzvārds
NO aktiera
SAVIENĪBA VISU
SELECT vārds_vārds, uzvārds
NO klienta;


Izvades piemērs ir šāds:

SQL UNION DISTINCT Operators

Cits arodbiedrību operatora veids ir UNION DISTINCT. Šis operators ir vienkārši operatora UNION dublikāts, kas veic līdzīgu darbību.

Sintakse ir šāda:

ATLASĪT kolonnu 1, kolonnu 2, ...
NO tabulas1
SAVIENĪBAS ATŠĶIRĪBA
ATLASĪT kolonnu 1, kolonnu 2, ...
NO tabulas2;


SELECT priekšraksti izgūst datus no norādītajām tabulām, un UNION DISTINCT operators apvieno rezultātu kopas vienā rezultātu kopā, kas ietver unikālās rindas.

Sakila datu bāzes piemērā mēs varam palaist šādu komandu:

SELECT vārds_vārds, uzvārds
NO aktiera
SAVIENĪBAS ATŠĶIRĪBA
SELECT vārds_vārds, uzvārds
NO klienta;


Tam vajadzētu atdot līdzīgu rezultātu kā UNION operatoram.

Secinājums

Mēs iemācījāmies strādāt ar dažāda veida SAVIENĪBĀM SQL. Operators UNION apvieno divu vai vairāku atlases priekšrakstu rezultātu kopu un noņem ierakstu dublikātus. UNION ALL veic līdzīgu darbību, bet ietver visas dublētās rindas. Visbeidzot, UNION DISTINCT ir identisks vietējam UNION operatoram.