EXCEPT
Definition: EXCEPT
gibt alle Zeilen der ersten SELECT
-Abfrage zurück, die nicht in der Ergebnismenge der zweiten SELECT
-Abfrage vorhanden sind.
Beispiel:
Angenommen, wir haben zwei Tabellen, TabelleA
und TabelleB
. Beide haben eine Spalte namens „Stadt“.
SELECT Stadt FROM TabelleA
EXCEPT
SELECT Stadt FROM TabelleB;
Wenn TabelleA
die Städte „Berlin“, „München“ und „Hamburg“ enthält und TabelleB
nur „München“, dann gibt die Abfrage „Berlin“ und „Hamburg“ zurück.
INTERSECT
Definition: INTERSECT
gibt nur die Zeilen zurück, die in beiden SELECT
-Abfragen vorhanden sind.
Beispiel:
SELECT Stadt FROM TabelleA
INTERSECT
SELECT Stadt FROM TabelleB;
Wenn TabelleA
die Städte „Berlin“, „München“ und „Hamburg“ enthält und TabelleB
die Städte „München“ und „Hamburg“, dann gibt die Abfrage „München“ und „Hamburg“ zurück.
Unterstützung und Unterschiede in den Datenbanksystemen:
- MSSQL (Microsoft SQL Server):
- Unterstützt sowohl
EXCEPT
als auchINTERSECT
.
- Unterstützt sowohl
- Oracle:
- Unterstützt ebenfalls sowohl
EXCEPT
als auchINTERSECT
. Beachten Sie, dassMINUS
das Äquivalent zuEXCEPT
in Oracle ist.
- Unterstützt ebenfalls sowohl
- IBM DB2:
- Unterstützt auch beide Befehle (
EXCEPT
undINTERSECT
).
- Unterstützt auch beide Befehle (
- Teradata:
- Unterstützt sowohl
EXCEPT
als auchINTERSECT
.
- Unterstützt sowohl
In allen diesen Systemen sollten die Abfragen, die mit EXCEPT
oder INTERSECT
kombiniert werden, die gleiche Anzahl von Spalten mit kompatiblen Datentypen zurückgeben.
Hinterlasse jetzt einen Kommentar