Geht das… INTERSECT [DISTINCT] (Tabellenoperator)


Vollständig unterstützt von MySQL ab 8.0.31. Vollständig unterstützt von Oracle DB ab 21c. Vollständig unterstützt von MariaDB ab 10.5. Teilweise unterstützt von BigQuery ab 2.0. Teilweise unterstützt von H2 ab 2.1.214. Teilweise unterstützt von SQL Server ab 2022. Teilweise unterstützt von Db2 (LUW) ab 11.5.7. Teilweise unterstützt von SQLite ab 3.40.0. Vollständig unterstützt von PostgreSQL ab 8.3.BigQueryDb2 (LUW)H2MariaDBMySQLOracle DBPostgreSQLSQL ServerSQLite200520072009201120132015201720192021⚠ 3.5.7 - 3.40.0a⚠ 2008R2 - 2022a✓ 8.3+✓ 21c+a⚠ 11gR1 - 19ca✓ 8.0.31+⊘ 5.0 - 8.0.30✓ 10.5+a⚠ 10.4a✓ 10.3⊘ 5.1 - 10.2⚠ 1.4.200 - 2.1.214a⚠ 9.7 - 11.5.7a⚠ 2.0b
  1. Die explizite Verwendung des Schlüsselwortes distinct wird nicht unterstützt
  2. Erfordert das Schlüsselwort distinct explizit

Der Tabellenoperator intersect [distinct] liefert alle Zeilen, die in beiden Ergebnissen vorkommen.

SELECT …
  FROM …
INTERSECT
SELECT …
  FROM …

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

Intersect [distinct] liefert jede Zeile die in beiden Ergebnissen vorkommt exakt ein mal.

Normative Referenzen

Der Intersect [distinct]-Operator ist in ISO/IEC 9075-2 als optionales Feature F302-01, „INTERSECT DISTINCT table operator“ definiert.

Über den Autor

Foto von Markus Winand

Markus Winand ist der SQL Renaissance Botschafter auf der Mission, Entwickler auf die Evolution von SQL im 21. Jahrhundert aufmerksam zu machen. 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