Een UNION-opdracht in SQL combineert gegevens van meerdere query's van een database. De twee query's moeten hetzelfde aantal kolommen en gegevens bevatten om te worden gecombineerd. Duplicaten worden verwijderd, behalve wanneer UNION ALL wordt gebruikt.
Voorbeelden Als gegeven zijn de volgende twee tabellen:
+verkoop2017 persoon aantal Bert 1000 Maarten 2000 Rob 5000 +verkoop2018 persoon aantal Bert 1500 Maarten 2000 Sander 15000
Als query wordt gebruikt:
SELECT * FROM verkoop2017 UNION SELECT * FROM verkoop2018
Als uitkomst krijgt men:
persoon aantal Bert 1000 Maarten 2000 Rob 5000 Bert 1500 Sander 15000
Merk op dat er twee rijen aanwezig zijn voor Bert omdat beide kolommen niet overeenkomen. Er is een rij voor Maarten omdat beide kolommen gelijk zijn.
Met UNION ALL worden geen duplicaten weggelaten. De query
SELECT * FROM verkoop2017 UNION ALL SELECT * FROM verkoop2018
geeft de volgende uitkomst:
persoon aantal Bert 1000 Bert 1500 Maarten 2000 Maarten 2000 Rob 5000 Sander 15000
Externe link UNION in Transact-SQL MSDN-documentatie UNION in PostgreSQL docs
Categorie:SQL