SQLEspressioni di tabella comuni


Sintassi

  • WITH QueryName [(ColumnName, ...)] AS (
    SELEZIONA
    )
    SELECT ... FROM QueryName ...;

  • WITH RECURSIVE QueryName [(ColumnName, ...)] AS (
    SELEZIONA
    UNION [TUTTI]
    SELEZIONA ... DA QueryName ...
    )
    SELECT ... FROM QueryName ...;

Osservazioni

Documentazione ufficiale: clausola WITH

Un'espressione tabella comune è un set di risultati temporaneo e può essere il risultato di una subquery complessa. È definito utilizzando la clausola WITH. CTE migliora la leggibilità e viene creato in memoria anziché nel database TempDB in cui viene creata la variabile Tabella temporanea e Tabella.

Concetti chiave delle espressioni di tabella comuni:

  • Può essere utilizzato per suddividere query complesse, in particolare join e sottoquery complessi.
  • È un modo per incapsulare una definizione di query.
  • Persistere solo fino all'esecuzione della query successiva.
  • L'uso corretto può portare a miglioramenti in termini di qualità del codice / manutenibilità e velocità.
  • Può essere utilizzato per fare riferimento alla tabella risultante più volte nella stessa istruzione (eliminare la duplicazione in SQL).
  • Può essere un sostituto di una vista quando non è richiesto l'uso generale di una vista; cioè, non è necessario memorizzare la definizione nei metadati.
  • Verrà eseguito quando chiamato, non quando definito. Se il CTE viene utilizzato più volte in una query, verrà eseguito più volte (probabilmente con risultati diversi).

Espressioni di tabella comuni Esempi correlati