Habiendo estado atrapado con SQL2000 durante demasiado tiempo, realmente no he tenido mucha exposición a Common Table Expressions.Para CTE o no para CTE
Las respuestas que he dado here (#4025380) y here (#4018793) han ido en contra del flujo en el sentido de que no usaban un CTE.
Agradezco que, para la recursividad, sean beez kneez, y hay algunas consultas que se pueden simplificar enormemente con su uso, pero ¿en qué punto su uso es simplemente frívolo? ¿Tienen un gran beneficio de rendimiento sobre una subconsulta o una unión? ¿Realmente simplifican el código y lo hacen más fácil de mantener?
En resumen, ¿cuándo es una buena práctica usar un CTE sobre una sintaxis "menor"?
Mismo beneficio que con muchos otros paradigmas de programación: divide y conquista. Eche un vistazo al sitio de datos. Algunas personas hacen buen uso de los CTE para que las consultas sean mucho más legibles. p.ej. http://odata.stackexchange.com/stackoverflow/s/299/how-long-until-i-get-the-generalist-badge – Jacob
@Jacob que vale la pena ser una respuesta adecuada. –
Solo una actualización, ahora uso CTE mucho. Ser capaz de dividir un proceso en pasos más pequeños hace que una consulta compleja sea mucho más fácil de leer.Guarda anidar el código dentro de la sentencia SQL final o tener que crear y referenciar vistas externas. –