logo

Różnica między Unią a Unią All

UNION i UNION ALL to dwa najważniejsze operatory SQL używane w bazie danych do łączenia zestawu wyników z wielu tabel. Operatory te pozwalają nam używać wielu zapytań SELECT, pobierać żądane wyniki, a następnie łączyć je w końcowy wynik . W tym artykule zobaczymy, czym się od siebie różnią. Przed dokonaniem porównania omówimy pokrótce te operatory.

Kim jest operator unijny?

Operator Union w MySQL pozwala nam łączyć dwa lub więcej wyników z wielu zapytań SELECT w jeden zestaw wyników. Posiada domyślną funkcję usuń zduplikowane wiersze ze stołów. Ta składnia operatora zawsze używa nazwy kolumny w pierwszej instrukcji SELECT jako nazwy kolumny danych wyjściowych.

MySQL-a Unia musi przestrzegać następujących podstawowych zasad:

  • Liczba i kolejność kolumn powinna być taka sama we wszystkich zapytaniach.
  • Odpowiednia pozycja kolumn każdego zapytania wybierającego musi mieć zgodny typ danych.
  • Nazwa kolumny wybrana w różnych zapytaniach SELECT musi być w tej samej kolejności.
  • Nazwa kolumny pierwszego zapytania SELECT będzie nazwą kolumny wyniku.

UWAGA: Musimy wiedzieć, że Union i Join są różne.

  1. JOIN łączy dane z wielu różnych tabel, podczas gdy UNION łączy dane z wielu podobnych tabel.
  2. JOIN dołącza wynik w poziomie, podczas gdy UNION łączy zestaw wyników w pionie.

Poniższa wizualna reprezentacja wyjaśnia to jaśniej:

Unia kontra Unia Wszystko

Aby przeczytać więcej informacji o operatorze Union, kliknij tutaj.

jak sprawdzić zablokowane numery na Androidzie

Co to jest Unia Wszystkich?

Operator UNION ALL łączy dwa lub więcej wyników z wielu zapytań SELECT i zwraca wszystkie rekordy w jeden zestaw wyników. Nie usuwa zduplikowanych wierszy z wyników instrukcji SELECT.

Możemy to zrozumieć za pomocą następującej reprezentacji wizualnej.

Unia kontra Unia Wszystko

Unia kontra Union All Operator

Poniższa tabela porównawcza wyjaśnia w szybki sposób główne różnice między nimi:

UNIA UNIA WSZYSTKICH
Łączy zestaw wyników z wielu tabel i zwraca różne rekordy w jeden zestaw wyników. Łączy zestaw wyników z wielu tabel i zwraca wszystkie rekordy w jeden zestaw wyników.
Poniżej znajduje się podstawa składnia operatora UNION:
WYBIERZ listę_kolumn Z tabeli 1
UNIA
WYBIERZ listę_kolumn Z tabeli2;
Poniżej znajduje się podstawa składnia operatora UNION ALL:
WYBIERZ listę_kolumn Z tabeli 1
UNIA WSZYSTKICH
WYBIERZ listę_kolumn Z tabeli2;
Posiada domyślną funkcję eliminowania zduplikowanych wierszy z wyników. Nie ma funkcji eliminującej zduplikowane wiersze z wyników.
Jego wydajność jest powolna ponieważ znalezienie i usunięcie zduplikowanych rekordów zajmuje trochę czasu. Jego wydajność jest szybka ponieważ nie eliminuje to zduplikowanych wierszy.
Większość użytkowników baz danych woli używać tego operatora. Większość użytkowników baz danych nie woli używać tego operatora.

Przykład Unii i Unii

Pozwól nam zrozumieć różnice między operatorami Union i Union All na przykładzie. Załóżmy, że mamy tabelę o nazwie „ Student ' I ' Student2 ', który zawiera następujące dane:

Tabela: Student

Unia kontra Unia Wszystko

Tabela: Student2

Unia kontra Unia Wszystko

Następująca instrukcja SQL zwraca odrębna nazwa miasta z obu tabel za pomocą zapytania UNION:

abc z liczbami
 SELECT City FROM student UNION SELECT City FROM student2 ORDER BY City; 

Po wykonaniu powyższej instrukcji otrzymamy poniższe dane wyjściowe, ponieważ operator Union zwraca tylko odrębne wartości.

Unia kontra Unia Wszystko

Następująca instrukcja SQL powraca wszystkie nazwy miast, łącznie z duplikatami z obu tabel za pomocą zapytania UNION ALL:

 SELECT City FROM student UNION ALL SELECT City FROM student2 ORDER BY City; 

Po wykonaniu powyższej instrukcji otrzymamy poniższy wynik, ponieważ operator Union All zwraca całe rekordy bez eliminowania odrębnych wartości.

Unia kontra Unia Wszystko