Looking for sql Keywords? Try Ask4Keywords

SQLAllgemeine Tabellenausdrücke


Syntax

  • WITH QueryName [(Spaltenname, ...)] AS (
    WÄHLEN ...
    )
    SELECT ... FROM QueryName ...;

  • WITH RECURSIVE QueryName [(Spaltenname, ...)] AS (
    WÄHLEN ...
    UNION [ALL]
    SELECT ... FROM QueryName ...
    )
    SELECT ... FROM QueryName ...;

Bemerkungen

Offizielle Dokumentation: WITH-Klausel

Ein allgemeiner Tabellenausdruck ist eine temporäre Ergebnismenge und kann Ergebnis einer komplexen Unterabfrage sein. Sie wird mithilfe der WITH-Klausel definiert. CTE verbessert die Lesbarkeit und wird im Arbeitsspeicher erstellt und nicht in der TempDB-Datenbank, in der die Variablen "Temp Table" und "Table" erstellt werden.

Schlüsselkonzepte allgemeiner Tabellenausdrücke:

  • Kann verwendet werden, um komplexe Abfragen aufzubrechen, insbesondere komplexe Joins und Unterabfragen.
  • Ist eine Möglichkeit, eine Abfragedefinition einzukapseln.
  • Bestehen Sie nur bis zur nächsten Abfrage.
  • Die korrekte Verwendung kann zu Verbesserungen der Codequalität / Wartbarkeit und Geschwindigkeit führen.
  • Kann verwendet werden, um auf die resultierende Tabelle mehrmals in derselben Anweisung zu verweisen (Duplizierung in SQL zu vermeiden).
  • Kann eine Ansicht ersetzen, wenn die allgemeine Verwendung einer Ansicht nicht erforderlich ist; Das heißt, Sie müssen die Definition nicht in Metadaten speichern.
  • Wird beim Aufruf ausgeführt, nicht bei der Definition. Wenn der CTE in einer Abfrage mehrmals verwendet wird, wird er mehrmals ausgeführt (möglicherweise mit unterschiedlichen Ergebnissen).

Allgemeine Tabellenausdrücke Verwandte Beispiele