MySQL
Związki MySQL
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 |