SQLExpresiones de mesa comunes


Sintaxis

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

  • CON RECURSIVE QueryName [(ColumnName, ...)] AS (
    SELECCIONAR ...
    UNION [TODOS]
    SELECCIONAR ... DE QueryName ...
    )
    SELECT ... FROM QueryName ...;

Observaciones

Documentación oficial: con cláusula.

Una expresión de tabla común es un conjunto de resultados temporal y puede ser el resultado de una sub consulta compleja. Se define utilizando la cláusula WITH. CTE mejora la legibilidad y se crea en la memoria en lugar de en la base de datos TempDB donde se crean la tabla Temp y la variable Table.

Conceptos clave de las expresiones de tabla comunes:

  • Se puede utilizar para dividir consultas complejas, especialmente combinaciones complejas y subconsultas.
  • Es una forma de encapsular una definición de consulta.
  • Persistir solo hasta que se ejecute la siguiente consulta.
  • El uso correcto puede llevar a mejoras tanto en la calidad / mantenibilidad del código como en la velocidad.
  • Se puede usar para hacer referencia a la tabla resultante varias veces en la misma declaración (eliminar la duplicación en SQL).
  • Puede ser un sustituto de una vista cuando no se requiere el uso general de una vista; es decir, no es necesario almacenar la definición en metadatos.
  • Se ejecutará cuando se llame, no cuando esté definido. Si el CTE se usa varias veces en una consulta, se ejecutará varias veces (posiblemente con resultados diferentes).

Expresiones de mesa comunes Ejemplos relacionados