MySQL
MySQL-fackföreningar
Sök…
Syntax
- VÄLJ kolumnnamn (er) FRÅN tabell1 UNION VÄLJ kolumnnamn (er) FRÅN tabell2;
- VÄLJ kolumnnamn (er) FRÅN tabell1 UNION ALLA VÄLJ kolumnnamn (er) FRÅN tabell2;
- SELECT column_name (s) FRÅN tabell1 WHERE col_name = "XYZ" UNION ALL SELECT column_name (s) FRÅN tabell2 WHERE col_name = "XYZ";
Anmärkningar
UNION DISTINCT
är samma som UNION
; det är långsammare än UNION ALL
grund av ett depliceringskort. En bra praxis är att alltid stava DISTINCT
eller ALL
, och därmed signalera att du tänkte på vad du ska göra.
Fackförening
UNION-operatören används för att kombinera resultatset ( endast distinkta värden ) för två eller flera SELECT-satser.
Fråga: (För att välja alla olika städer ( endast distinkta värden ) från tabellerna "Kunder" och "Leverantörer")
SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;
Resultat:
Number of Records: 10
City
------
Aachen
Albuquerque
Anchorage
Annecy
Barcelona
Barquisimeto
Bend
Bergamo
Berlin
Bern
Union ALL
UNION ALL för att välja alla (duplicerade värden också) städer från tabellerna "Kunder" och "Leverantörer".
Fråga:
SELECT City FROM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City;
Resultat:
Number of Records: 12
City
-------
Aachen
Albuquerque
Anchorage
Ann Arbor
Annecy
Barcelona
Barquisimeto
Bend
Bergamo
Berlin
Berlin
Bern
FÖRSLAG ALLA MED VAR
UNION ALL för att välja alla (duplicerade värden också) tyska städer från tabellerna "Kunder" och "Leverantörer". Här ska Country="Germany"
anges i var-klausulen.
Fråga:
SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;
Resultat:
Number of Records: 14
Stad | Land |
---|---|
Aachen | Tyskland |
Berlin | Tyskland |
Berlin | Tyskland |
Brandenburg | Tyskland |
Cunewalde | Tyskland |
Cuxhaven | Tyskland |
Frankfurt | Tyskland |
Frankfurt aM | Tyskland |
Köln | Tyskland |
Leipzig | Tyskland |
Mannheim | Tyskland |
München | Tyskland |
Münster | Tyskland |
Stuttgart | Tyskland |