
Today I will write just a short blog post to do a quick reminder!
I still hear a lot of people suggesting CTEs because they think it works like a temporary table (you populate the table and then it can be/is reutilized).
It doesn’t!
From de documentation :
Specifies a temporary named result set, known as a common table expression (CTE).
Maybe they are focusing on the “temporary” word.
Using the CTE two times will perform two different executions! Don’t believe me? See the next example!
If we run the following code do you expect to get the same value for both queries? Note: we have a UNION ALL between them.