Exception Join


BigQuery 2025-09-18Db2 (LUW) 12.1.2Derby 10.17.1.0H2 2.3.232MariaDB 12.0.2MySQL 9.4.0Oracle DB 23.9PostgreSQL 17SQL Server 2022SQLite 3.50.0exception join

Exception Join ist eine nicht-standardisierte Syntax für einen Anti-Join.

SELECT *
  FROM customers
EXCEPTION JOIN orders ON id = customer_id

Exception ist kein reserviertes Wort im Standard

Das Beispiel oben ist standard-konform, wobei „exception“ lediglich als Bezeichner für die Tabelle customers interpretiert wird. Es wird also so interpretiert:

SELECT *
  FROM customers AS exception
  JOIN orders ON id = customer_id

Durch Qualifikation der Spalten in der On-Klausel lässt sich diese Mehrdeutigkeit unterbinden: orders ON customers.id = orders.customer_id.

Bevorzuge Not Exists

Die Standard-Syntax für einen Anti-Join ist Not Exists (Beispiel).

Normative Referenzen

Exception Join ist nicht in ISO/IEC 9075-2:2023 standardisiert.

20 Jahre SQL-Evolution kann man nicht an einem Tag nachholen. Abonniere den Newsletter via E-Mail, Bluesky 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»

Neuigkeiten Abonnieren

Markus Winands MailinglistenMarkus Winands RSS-FeedMarkus Winand auf LinkedInMarkus Winand auf XINGMarkus Winand auf TwitterMarkus Winand auf Bluesky
Copyright 2015-2025 Markus Winand. Alle Rechte vorbehalten.
Impressum | Kontakt | KEINE GEWÄHR | Handelsmarken | Datenschutz und DSGVO