SQL skirtumas tarp „Union“, „Union All“ ir „Union Distinct“ operatorių

Sql Skirtumas Tarp Union Union All Ir Union Distinct Operatoriu



SQL suteikia mums UNION operatorių, kuris leidžia sujungti dviejų ar daugiau SELECT teiginių rezultatų rinkinius į vieną rezultatų rinkinį. SQL yra trys pagrindiniai UNION operatorių tipai: UNION, UNION ALL ir UNION DISTINCT.

Šioje pamokoje nagrinėjami šie trys SĄJUNGŲ tipai ir pateikiami realaus pasaulio bei praktiniai darbo su jomis pavyzdžiai.





PASTABA: Šiame pavyzdyje demonstravimo tikslais naudosime pavyzdinę Sakila duomenų bazę. Prieš vykdydami šias komandas įsitikinkite, kad ją įdiegėte. Norėdami sužinoti daugiau, galite peržiūrėti mūsų mokymo programą.



SQL UNION operatorius

Kaip minėta, UNION operatorius leidžia sujungti dviejų ar daugiau pasirinktų teiginių rezultatų rinkinį ir pašalinti pasikartojančias reikšmes. UNION operatoriaus sintaksė yra tokia:



PASIRINKTI 1 stulpelį, 2 stulpelį...
IŠ lentelės1
SĄJUNGOS
PASIRINKTI 1 stulpelį, 2 stulpelį...
IŠ lentelės2;


Ankstesniame sintaksės pavyzdyje mes naudojame sakinius SELECT, kad gautume duomenis iš nurodytų lentelių. Tada UNION operatorius sujungia du rezultatų rinkinius į vieną rinkinį. Paimkime pavyzdį, kaip tai padaryti naudojant „Sakila“ duomenų bazėje apibrėžtą veikėjų lentelę.





Apsvarstykite toliau pateiktą pavyzdinę užklausą, kuri iš aktorių lentelės ir kliento lentelės nuskaito veikėjų vardus ir pavardes:

PASIRINKITE vardą, pavardę
IŠ aktoriaus
SĄJUNGOS
PASIRINKITE vardą, pavardę
IŠ kliento; PASIRINKITE vardą, pavardę
IŠ aktoriaus
SĄJUNGOS
PASIRINKITE vardą, pavardę
IŠ kliento;


Ankstesnė užklausa sujungia vardus ir pavardes iš veikėjo ir klientų lentelių ir pateikia reikšmes kaip vieną rezultatą.



Išvesties pavyzdys yra toks:

SQL UNION ALL operatorius

Skirtingai nei UNION operatorius, kuris pašalina pasikartojančias reikšmes iš rezultatų rinkinio, UNION operatorius grąžina visas lentelių eilutes, įskaitant dublikatus.

Sintaksė yra tokia:

PASIRINKTI 1 stulpelį, 2 stulpelį...
IŠ lentelės1
SĄJUNGOS VISI
PASIRINKTI 1 stulpelį, 2 stulpelį...
IŠ lentelės2;


Šiame pavyzdyje Sakilos duomenų bazėje iš veikėjų ir klientų lentelių pasirenkamas vardas ir pavardė:

PASIRINKITE vardą, pavardę
IŠ aktoriaus
SĄJUNGOS VISI
PASIRINKITE vardą, pavardę
IŠ kliento;


Išvesties pavyzdys yra toks:

SQL UNION DISTINCT operatorius

Kitas sąjungos operatorių tipas yra UNION DISTINCT. Šis operatorius yra tiesiog UNION operatoriaus, kuris atlieka panašų veiksmą, dublikatas.

Sintaksė yra tokia:

PASIRINKTI 1 stulpelį, 2 stulpelį...
IŠ lentelės1
SĄJUNGOS ATSKIRTI
PASIRINKTI 1 stulpelį, 2 stulpelį...
IŠ lentelės2;


SELECT sakiniai nuskaito duomenis iš nurodytų lentelių, o UNION DISTINCT operatorius sujungia rezultatų rinkinius į vieną rezultatų rinkinį, apimantį unikalias eilutes.

„Sakila“ duomenų bazės pavyzdyje galime paleisti šią komandą:

PASIRINKITE vardą, pavardę
IŠ aktoriaus
SĄJUNGOS ATSKIRTI
PASIRINKITE vardą, pavardę
IŠ kliento;


Tai turėtų pateikti panašų rezultatą kaip ir UNION operatorius.

Išvada

Sužinojome, kaip dirbti su įvairių tipų UNIONS SQL. UNION operatorius sujungia dviejų ar daugiau pasirinktų teiginių rezultatų rinkinį ir pašalina pasikartojančius įrašus. UNION ALL atlieka panašų veiksmą, bet apima visas pasikartojančias eilutes. Galiausiai UNION DISTINCT yra identiškas vietiniam UNION operatoriui.