Vereinigung (UNION)
Wegen einer Werbeaktion sollen sowohl Kunden als auch
Lieferanten angeschrieben werden. Dies soll durch einen
einzigen Zugriff auf die Datenbank realisiert werden.
Somit ist es notwendig, die Relation "Kunde" mit der
Relation "Lieferant" zu vereinigen.
Dies ist möglich durch das Schlüsselwort "UNION", mit
dem zwei oder mehr Tabellen oder Abfragen kombiniert
werden können. D.h. "UNION" gibt die Ergebnisse zweier
Abfragen abzüglich der doppelt vorkommenden Zeilen
zurück
Beispiel:
SELECT Name, Anrede, Straße, PLZ, Wohnort AS Ort
FROM Kunde
UNION
SELECT Firmenname AS Name, Ansprechpartner, Straße, PLZ, Ort
FROM Lieferant;
Bedingungen: Die Spalten der einzelnen Hauptteile müssen miteinander verträglich sein
(z.B. nicht Zeichenkette versus Zahlenwert).
Mehrfache Datensätze werden automatisch entfernt ("DISTINCT" ist Standardeinstellung). Dies
kann umgangen werden mit "... UNION ALL ..."). Dann werden gleiche Datensätze (Tupel) nicht entfernt.
Schnittmenge (INTERSECT)
Der Operator INTERSECT gibt nur die Zeilen zurück,
die aus beiden Abfragen stammen.
Hiermit kann man z.B. ermitteln welche Adressen
sowohl in der Kunden als auch in der Adresstabelle
existieren. |