Desde las versión de SQL Server 2005 se integro las expresiones de tablas comunes o conocidas por su abreviatura CTE.

Ventajas que nos ofrece CTE.

  • Si usamos varias consultas a la misma tabla, esto nos podría servir
  • Reemplaza el uso de las vistas en algunos casos.
  • Podemos obtener datos específicos de columnas calculadas o de subconsultas.
  • Podemos hacer un tipo hilo de consultas recursivas

Veamos su ejemplo y su estructura:

-- Uno ejemplo de un CTE simple
;WITH x
AS
(SELECT * FROM MyTable)
SELECT * FROM x

-- Uno ejemplo de un CTE especificando los campos
;WITH x(campo1, campo2)
AS
(SELECT * FROM MyTable)
SELECT campo1, campo2 FROM x

-- Un ejemplo de un CTE haciendo consulta a otro CTE,
;WITH x AS
(
SELECT * FROM MyTable
),
y AS
(
SELECT * FROM x
)
SELECT * FROM y