UNION (Transact-SQL)

Łączy wyniki dwóch lub więcej kwerend w jednym zestaw wyników, obejmuje wszystkie wiersze, które należą do wszystkich kwerend w związku.Operacja UNION różni się od za pomocą sprzężeń, składające się z kolumn z dwóch tabel.

Łączenie przy użyciu UNION zestawów wyników kwerend dwa podstawowe zasady są następujące:

  • Numer i kolejność kolumn muszą być takie same we wszystkich kwerend.

  • Typy danych muszą być zgodne.

Topic link iconKonwencje składni języka Transact-SQL

    { <query_specification> | ( <query_expression> ) } 
    UNION [ ALL ] 
  <query_specification | ( <query_expression> ) 
 [ UNION [ ALL ] <query_specification> | ( <query_expression> ) 
    [ ...n ] ] 

Argumenty

  • query_specification < > | (query_expression < >)
    Jest to specyfikacja kwerendę lub wyrażenie kwerendy, która zwraca dane, które mają być połączone z danymi z innego wyrażenia kwerendy specyfikacji lub kwerendy.Definicje kolumn, które są częścią operacji UNION nie muszą być takie same, ale muszą być zgodne za pośrednictwem niejawna konwersja.Gdy są różne typy danych, wynikowy typ danych jest określany na podstawie reguł dla priorytet typu danych.Jeśli typy są takie same, ale różnią się precyzja, skala lub długość, wynik jest określana na podstawie tych samych reguł do łączenia wyrażeń.Aby uzyskać więcej informacji zobacz Precyzja, skala i długość (języka Transact-SQL).

    Kolumny xml Typ danych muszą być równoważne. Wszystkie kolumny muszą być wpisane do schematu XML lub untyped.Jeśli wpisany, muszą one być wpisywane do tego samego zbioru schematu XML.

  • UNIA
    Określa, że wiele zestawów wyników mają być łączone i zwracane w postaci zestaw pojedynczy wynik.

  • ALL
    Dołącza wszystkie wiersze w wyniki.Dotyczy to także duplikaty.Jeśli tak nie jest określony, zduplikowane wiersze są usuwane.

Przykłady

A.Za pomocą prostego związek

W poniższym przykładzie, zestaw wyników zawiera zawartość ProductModelID i Name kolumny w obu ProductModel i Gloves tabele.

B.Przy użyciu UNION SELECT INTO

W poniższym przykładzie INTO w drugim klauzula SELECT Instrukcja określa, że w tabela o nazwie ProductResults zostały przedstawione zestaw wyników końcowych Unii w kolumnach wyznaczonych ProductModel i Gloves tabele. Należy zauważyć, że Gloves Tabela jest tworzona w pierwszym SELECT Instrukcja.

C.Przy użyciu UNION dwóch instrukcji SELECT ORDER BY

Kolejność pewne parametry używane w klauzula UNION jest istotna.W poniższym przykładzie pokazano użycie niepoprawnych i są poprawne UNION w dwóch SELECT instrukcje, w których kolumna ma ulec zmianie w wyniku.

D.Pokaż wszystkie efekty i nawiasy za pomocą UNION trzy instrukcji SELECT

W następujących przykładach użyto UNION Aby połączyć wyniki trzy tabele mające ten sam 5 wierszy danych. W pierwszym przykładzie UNION ALL Aby pokazać zduplikowane rekordy, a następnie zwraca wszystkie wiersze 15. W drugim przykładzie użyto UNION bez ALL Aby wyeliminować duplikaty wierszy w wynikach Scalonej trzy SELECT instrukcje i zwraca wartość 5 wierszy.

W trzecim przykładzie ALL z pierwszym UNION nawiasy umieszczony w drugim UNION który nie korzysta z ALL. Drugi UNION jest przetwarzane jako pierwsze, ponieważ jest w nawiasach i zwraca wartość 5 wierszy, ponieważ ALL Opcja nie jest używana, a duplikaty zostaną usunięte. Te wiersze 5 są łączone z wyniki pierwszego SELECT za pomocą UNION ALL słowa kluczowe. Nie powoduje usunięcia duplikaty między dwoma zestawami 5 wierszy.Wynik końcowy ma 10 wierszy.