Szukaj…


Składnia

  • SELECT nazwa_kolumny z tabeli1 UNION SELECT nazwa_kolumny z table2;
  • SELECT nazwa_kolumny z tabeli1 UNION ALL SELECT nazwa_kolumny z table2;
  • WYBIERZ nazwa_kolumny z tabeli1 GDZIE nazwa_kolumny = "XYZ" UNION WSZYSTKO WYBIERZ nazwę (-y) kolumny z tabeli2 GDZIE nazwa_kolumny = "XYZ";

Uwagi

UNION DISTINCT jest tym samym co UNION ; jest wolniejszy niż UNION ALL ze względu na przepustkę do duplikowania. Dobrą praktyką jest zawsze przeliterować DISTINCT lub ALL , sygnalizując w ten sposób, że zastanawiałeś się, co zrobić.

Operator unijny

Operator UNION służy do łączenia zestawu wyników ( tylko odrębne wartości ) dwóch lub więcej instrukcji SELECT.

Zapytanie: (Aby wybrać wszystkie różne miasta ( tylko odrębne wartości ) z tabel „Klienci” i „Dostawcy”)

SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;

Wynik:

Number of Records: 10

City
------
Aachen
Albuquerque
Anchorage
Annecy
Barcelona
Barquisimeto
Bend
Bergamo
Berlin
Bern

Union ALL

UNION ALL, aby wybrać wszystkie (również zduplikowane wartości) miasta z tabel „Klienci” i „Dostawcy”.

Pytanie:

SELECT City FROM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City;

Wynik:

Number of Records: 12

City
-------
Aachen
Albuquerque
Anchorage
Ann Arbor
Annecy
Barcelona
Barquisimeto
Bend
Bergamo
Berlin
Berlin
Bern

UNIA WSZYSTKO Z GDZIE

UNION ALL, aby wybrać wszystkie (zduplikowane wartości) niemieckie miasta z tabel „Klienci” i „Dostawcy”. W tym miejscu Country="Germany" należy podać w klauzuli where.

Pytanie:

SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;

Wynik:

Number of Records: 14
Miasto Kraj
Akwizgran Niemcy
Berlin Niemcy
Berlin Niemcy
Brandenburgia Niemcy
Cunewalde Niemcy
Cuxhaven Niemcy
Frankfurt Niemcy
Frankfurt nad Menem Niemcy
Köln Niemcy
Lipsk Niemcy
Mannheim Niemcy
München Niemcy
Münster Niemcy
Stuttgart Niemcy


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow