Różnica SQL między operatorami Union, Union All i Union Distinct

Roznica Sql Miedzy Operatorami Union Union All I Union Distinct



SQL udostępnia nam operator UNION, który pozwala nam łączyć zestawy wyników dwóch lub więcej instrukcji SELECT w jeden zestaw wyników. Istnieją trzy główne typy operatorów UNION w SQL: UNION, UNION ALL i UNION DISTINCT.

W tym samouczku omówiono te trzy typy UNII i przedstawiono rzeczywiste i praktyczne przykłady pracy z nimi.







NOTATKA: W tym przykładzie użyjemy przykładowej bazy danych Sakila do celów demonstracyjnych. Upewnij się, że masz go zainstalowanego przed wykonaniem tych poleceń. Możesz sprawdzić nasz samouczek na ten temat, aby dowiedzieć się więcej.



Operator UNII SQL

Jak wspomniano, operator UNION pozwala nam połączyć zestaw wyników dwóch lub więcej instrukcji select i usunąć zduplikowane wartości. Składnia operatora UNION jest następująca:



WYBIERZ kolumna1, kolumna2, ...
Z tabeli 1
UNIA
WYBIERZ kolumna1, kolumna2, ...
Z tabeli 2;


W składni poprzedniego przykładu używamy instrukcji SELECT do pobierania danych z określonych tabel. Następnie operator UNION łączy dwa zestawy wyników w jeden zestaw. Weźmy przykład, jak to zrobić, używając tabeli aktorów, która jest zdefiniowana w bazie danych Sakila.





Rozważmy następujące przykładowe zapytanie, które pobiera imię i nazwisko aktorów z tabeli aktorów i tabeli klienta:

WYBIERZ imię, nazwisko
OD aktora
UNIA
WYBIERZ imię, nazwisko
OD klienta; WYBIERZ imię, nazwisko
OD aktora
UNIA
WYBIERZ imię, nazwisko
OD klienta;


Poprzednie zapytanie pobiera imiona i nazwiska z tabel aktora i klienta i zwraca wartości jako pojedynczy wynik.



Przykładowe dane wyjściowe są następujące:

Operator SQL UNION ALL

W przeciwieństwie do operatora UNION, który usuwa zduplikowane wartości ze zbioru wyników, operator UNION zwraca wszystkie wiersze tabel, w tym duplikaty.

Składnia jest następująca:

WYBIERZ kolumna1, kolumna2, ...
Z tabeli 1
UNIA WSZYSTKIE
WYBIERZ kolumna1, kolumna2, ...
Z tabeli 2;


Poniższy przykład wybiera imię i nazwisko z tabel aktora i klienta w bazie danych Sakila:

WYBIERZ imię, nazwisko
OD aktora
UNIA WSZYSTKIE
WYBIERZ imię, nazwisko
OD klienta;


Przykładowe dane wyjściowe są następujące:

Operator SQL UNION DISTINCT

Innym typem operatora sumy jest UNION DISTINCT. Ten operator jest po prostu duplikatem operatora UNION, który wykonuje podobną akcję.

Składnia jest następująca:

WYBIERZ kolumna1, kolumna2, ...
Z tabeli 1
ODRÓŻNIENIE UNII
WYBIERZ kolumna1, kolumna2, ...
Z tabeli 2;


Instrukcje SELECT pobierają dane z określonych tabel, a operator UNION DISTINCT łączy zestawy wyników w jeden zestaw wyników, który zawiera unikatowe wiersze.

Na przykładzie bazy danych Sakila możemy uruchomić następującą komendę:

WYBIERZ imię, nazwisko
OD aktora
ODRÓŻNIENIE UNII
WYBIERZ imię, nazwisko
OD klienta;


Powinno to zwrócić podobny wynik jak operator UNION.

Wniosek

Nauczyliśmy się pracować z różnymi typami UNIONÓW w SQL. Operator UNION łączy zestaw wyników dwóch lub więcej instrukcji select i usuwa zduplikowane rekordy. UNION ALL wykonuje podobną akcję, ale zawiera wszelkie zduplikowane wiersze. Wreszcie UNION DISTINCT jest identyczny z natywnym operatorem UNION.