Geht das… EXCEPT ALL (Tabellenoperator)


BigQueryDb2 (LUW)H2MariaDBMySQLOracle DBPostgreSQLSQL ServerSQLite20082010201220142016201820202022⊘ 3.5.7 - 3.42.0⊘ 2008R2 - 2022✓ 8.3+✓ 21c+⊘ 11gR1 - 19c✓ 8.0.31+⊘ 5.0 - 8.0.30✓ 10.5+⊘ 5.1 - 10.4⊘ 1.4.192 - 2.1.214✓ 9.7+⊘ 2.0

Der Tabellenoperator except all liefert die Zeilen des ersten Ergebnisses ohne jene die auch im Zweiten vorkommen.

SELECT …
  FROM …
EXCEPT ALL
SELECT …
  FROM …

Wie bei allen Tabellenoperatoren benötigt except [distinct] dieselbe Spaltenzahl und jeweils kompatible Typen auf beiden Seiten (siehe auch corresponding). Null-Werte gelten im Rahmen der Except-Operation als ununterscheidbar.

Jedes vorkommen einer Zeile im zweiten Ergebnis entfernt ein vorkommen dieser Zeile vom Ersten.

Normative Referenzen

Der Except all-Operator ist in ISO/IEC 9075-2 als optionales Feature F304, „EXCEPT ALL table operator“ definiert.

20 Jahre SQL-Evolution kann man nicht an einem Tag nachholen. Abonniere den Newsletter via E-Mail, Twitter oder RSS um sukzessive aufzuholen und modern-sql.com am Radar zu behalten.

Über den Autor

Foto von Markus Winand

Markus Winand gibt auf modern-sql.com Einblick in SQL und zeigt, wie es von verschiedenen Systemen unterstützt wird. Zuvor machte er use-the-index-luke.com, was er noch immer wartet. Markus kann als Trainer, Sprecher und Berater auf winand.at engagiert werden.

Sein Buch kaufen

Titelbild von „SQL Performance Explained“: Eichhörnchen läuft durchs Grass

Die Essenz: SQL-Tuning auf 200 Seiten

Jetzt Kaufen
(Taschenbuch und/oder PDF)

Sein Training

Markus verwandelt veraltetes SQL-92-Wissen in solides und zeitgemäßes SQL-Know-how

Erfahren Sie mehr»

Mit Markus Winand verbinden

Markus Winand auf LinkedInMarkus Winand auf XINGMarkus Winand auf Twitter
„modern SQL“ von Markus Winand ist unter einer Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License lizenziert.
Impressum | Kontakt | KEINE GEWÄHR | Handelsmarken | Datenschutz und DSGVO | CC-BY-NC-ND 3.0 Lizenz