Common Table Expressions

Esta es una
característica de SQL Server se vio por primera vez en la versión 2005 y debo
confesar que  no es de mis favoritas, su  ventaja principal es ofrecer mayor
legibilidad a las consulta y por supuesto una facilidad en el mantenimiento de
las mismas. 
.
CTE me permite cargar
a memoria una consulta o query, darle un nombre para utilizarlo inmediatamente
dentro del mismo bach de instrucciones, no queda almacenado como lo hace una
vista, función o procedimiento almacenado, es solo de uso temporal, dentro del
bach (conjunto) de instrucciones SQL .
 
Ejemplo:
 
 
—CTE Common Table Expression
WITH CTE_ORDENES as ( Select c.companyname, o.orderid,
     o.orderdate, year(o.orderdate) as año,
     month(o.orderdate) as mes
     from customers c inner join orders o
     on c.CustomerID=o.CustomerID)
CREACIÓN DEL CTE
Select companyname, orderid from CTE_ORDENES
 where año=1997 and mes=6
go
USO
DEL CTE

 

Explicación:
 

 

2 comentarios en «Common Table Expressions»

  • el 2014-04-21 a las 20:38
    Enlace permanente

    Que diferencias existe con las tablas temporales (#Tabla), yo hace años que utilizo esas tablas para procesos complejos o con mucha información para generar tablas agrupadas y sumarizadas.

    Respuesta
    • el 2014-04-21 a las 22:55
      Enlace permanente

      En mi punto de vista es mas eficiente las tablas temporales que usas, las common table expressions son para correr querys en memoria y poder asignarles un nombre dentro del query pero no quedan almacenados en ninguna parte por un determinado tiempo como las tablas temporales.

      Respuesta

Responder a Gonzalo Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.