with (nicht-rekursiv in Unterabfragen)


Apache DerbyBigQueryDb2 (LUW)H2MariaDBMySQLOracle DBPostgreSQLSQL ServerSQLite20072009201120132015201720192021⚠ 3.36.0 - 3.43.0b⚠ 3.8.3 - 3.35.0ab⊘ 3.5.7 - 3.7.11⊘ 2008R2 - 2022✓ 8.4 - 16⊘ 8.3⚠ 21cc⚠ 12cR1 - 19cb⚠ 11gR2de⚠ 11gR1abcde✓ 8.0.11 - 8.0.34⊘ 5.0 - 5.7⚠ 10.3 - 10.11c⚠ 10.2ce⊘ 5.1 - 10.1⚠ 1.4.197 - 2.2.220aef⊘ 1.4.191 - 1.4.195⚠ 11.5.4 - 11.5.8ac⊘ 9.7 - 11.5.0⚠ 2.0de⊘ 10.15.1.3 - 10.16.1.1
  1. With impliziert recursive
  2. With-Namen sind in Ansichten (Views) sichtbar, auf die zugegriffen wird
  3. With-Namen verdecken sogar qualifizierte Schema-Namenn (Schema.Tablle)
  4. Nur ohne Spaltennamen: WITH name AS (SELECT…)
  5. CTEs in Unterabfragen können globale CTEs nicht sehen
  6. With-Namen verdecken Schema-Objekte nicht

Die With-Klausel kann auch in Unterabfragen verwendet werden um die Sichtbarkeit damit noch weiter einzuschränken:

SELECT …
  FROM (  WITH …
        SELECT …
          FROM …
       ) Tabellenname

Normative Referenzen

Die With Recursive-Klausel in Unterabfragen ist in ISO/IEC 9075-2:2023 §7.17 als optionales Feature T122, „WITH (excluding RECURSIVE) in subquery“ 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