Mejor práctica: seleccione * en CTE
La siguiente publicación tenía razones convincentes para evitar generalmente el uso deselect *
en SQL
¿Por qué SELECT * se considera dañino?
En la discusión hubo ejemplos de cuándo era o no aceptable usarselect *
Sin embargo, no vi discusión sobre la expresión de tabla común (CTE). ¿Hay algún inconveniente para usarselect *
en CTE?
Ejemplo:
WITH CTE1 AS
(
SELECT Doc, TotalDue
FROM ARInvoices
WHERE CustomerName = 'ABC'
UNION
SELECT Doc, - TotalDue
FROM ARInvoiceMemos
WHERE CustomerName = 'ABC'
)
select * from CTE1
UNION
Select 'Total' as Doc, sum(TotalDue)
FROM CTE1