UNION
Op deze pagina:
UNION wordt gebruikt om het resultaat van twee of meer SELECT opdrachten te combineren. Dit kan alleen indien iedere SELECT opdracht in een UNION hetzelfde aantal kolommen heeft die in dezelfde volgorde staan en deze kolommen moeten gelijke data typen hebben.
UNION algemene vorm:
SELECT kolomnamen FROM tabel1
UNION
SELECT kolomnamen FROM tabel2;
UNION neemt standaard alleen distincte waarden, om ook dubbele waarden toe te staan kan je ALL gebruiken.
UNION ALL algemene vorm:
SELECT kolomnamen FROM tabel1
UNION ALL
SELECT kolomnamen FROM tabel2;
De kolomnamen in het resultaat zijn meestal gelijk aan de kolomnamen in de eerste SELECT van de UNION.
UNION voorbeeld:
--Alleen distincte waarden:
SELECT Stad FROM Klanten
UNION
SELECT Stad FROM Leveranciers
ORDER BY Stad;
UNION ALL voorbeeld:
--Nu wel dubbele waarden:
SELECT Stad FROM Klanten
UNION ALL
SELECT Stad FROM Leveranciers
ORDER BY Stad;
UNION met WHERE
--Alleen distincte waarden,
--alleen plaatsen in Duitsland
SELECT Stad, Land FROM Klanten
WHERE Land='Duitsland'
UNION
SELECT Stad, Land FROM Leveranciers
WHERE Land='Duitsland'
ORDER BY Stad;
UNION ALL met WHERE
--Nu wel dubbele waarden,
--alleen plaatsen in Duitsland
SELECT Stad, Land FROM Klanten
WHERE Land='Duitsland'
UNION ALL
SELECT Stad, Land FROM Leveranciers
WHERE Land='Duitsland'
ORDER BY Stad;
Nog een UNION voorbeeld:
--Klanten en Leveranciers,
--Bij Relatie komt te staan of het
--om een Klant of een leverancier gaat:
SELECT 'Klant' AS Relatie, Contactnaam, Stad, Land
FROM Klanten
UNION
SELECT 'Leverancier', Contactnaam, Stad, Land
FROM Leveranciers;