|
VIII. SELECT
Mengen - Operatoren
|
|
|
| |
| Es gibt drei Mengenoperatoren : |
- Vereinigungsmenge (UNION) bzw. (UNION ALL)
- Schnittmenge (INTERSECT)
- Ausschlußmenge (MINUS)
|
| Mit 'Menge' ('set') meinen wir die Zeilen, die das
Ergebnis einer beliebigen gültigen SELECT-Anweisung sind. Das
Ergebnis kann auch eine "leere Menge" (null selektierte
Zeilen) sein. |
| Jeder Mengenoperator arbeitet gleichzeitig mit zwei
Mengen, d.h. jeder Mengenoperator hat zwei Operanden, die selbst
auch Mengen sind. |
UNION vereinigt alle Zeilen der ersten Menge oder des ersten
Operanden mit allen Zei- len der zweiten Menge. Zeilen, die
in der Ergebnismenge zweimal vorkommen, werden zu einer einzigen
Zeile zusammengefaßt.
|
UNION ALL vereinigt alle Zeilen der ersten Menge oder des ersten
Operanden mit allen Zeilen der zweiten Menge. Im Unterschied
zu UNION werden auch die Duplikate
ausgegeben.
|
INTERSECT überprüft die Zeilen der beiden Eingangsmengen
und gibt nur jene Zeilen aus, die in beiden Eingangsmengen vorkommen.
Auch hier werden vor dem Erstellen der Ergebnismenge die redundanten
Zeilen ausgeschaltet.
|
MINUS gibt die Zeilen aus, die in der ersten Menge, NICHT aber
in der zweiten Menge enthalten sind. Zeilen, die in der ersten
Menge zweimal vorkommen, werden auf Redundanz überprüft
und komprimiert, bevor der Vergleich mit der zweiten Menge beginnt.
|