I think I\'ve got the format of Recursive CTEs down well enough to write one, but still find myself frustrated to no end that I cannot manually process one (pretend to be th
I think it breaks down like this:
The anchor statement is executed. This gives you a set of results, called the base set, or T0.
The recursive statement is executed, using T0 as the table to execute the query against. This happens automatically when you query a CTE.
If the recursive member returns some results, it creates a new set, T1. The recursive member is then executed again, using T1 as input, creating T2 if there are any results.
Step 3 continues until no more results are generated, OR the maximum number of recursions has been met, as set by the MAX_RECURSION option.
This page probably explains it best. It has a step-by-step walkthrough of the execution path of a CTE.