Geht das… EXCEPT [DISTINCT] (Tabellenoperator)


BigQueryDb2 (LUW)H2MariaDBMySQLOracle DBPostgreSQLSQL ServerSQLite20072009201120132015201720192021⚠ 3.5.7 - 3.42.0b⚠ 2008R2 - 2022b✓ 8.3+✓ 21c+a⊘ 11gR1 - 19ca✓ 8.0.31+⊘ 5.0 - 8.0.30✓ 10.5+b⚠ 10.4b✓ 10.3⊘ 5.1 - 10.2⚠ 1.4.192 - 2.1.214b⚠ 9.7 - 11.5.8b⚠ 2.0c
  1. Nich-standardisierte alternative: minus
  2. Die explizite Verwendung des Schlüsselwortes distinct wird nicht unterstützt
  3. Erfordert das Schlüsselwort distinct explizit

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

SELECT …
  FROM …
EXCEPT DISTINCT
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.

Sobald eine Zeile im zweiten Ergebnis aufscheint, wird sie nicht in das Endergebnis übernommen. Auch nicht, wenn sie im ersten Ergebnis öfter als im Zweiten steht.

Normative Referenzen

Der Except [distinct]-Operator ist in ISO/IEC 9075-2 als verplfichtendes Feature E071-03, „EXCEPT DISTINCT table operator“ definiert.

Ü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