(Nerekurzivní) CTE nepoužívá kurzory. Je to přístup založený na množinách. To je velký rozdíl oproti používání kurzorů. Ale to platí o nepoužívání kurzorů obecně.
Kurzorům byste se měli vyhýbat tam, kde je to absolutně možné (jak jsem si jistý, že všichni víme).
CTE není nutně lepší než použití odvozené tabulky, ale vede ke srozumitelnějšímu kódu TSQL. CTE je ve skutečnosti jen zkratka pro dotaz nebo poddotaz; něco podobného dočasnému pohledu.
Situace, kdy CTE nemusí být nejlepší přístup, nastává, když optimalizátor plánu dotazů získá nepřesné odhady řádků pro CTE.
Související otázka:Jaké jsou výhody/nevýhody použití CTE?