En (ikke-rekursiv) CTE bruger ikke markører. Det er en sætbaseret tilgang. Det er den store forskel i forhold til at bruge markører. Men så er det rigtigt med ikke at bruge markører generelt.
Markører bør undgås, hvor det er absolut muligt (som jeg er sikker på, vi alle er klar over).
En CTE er ikke nødvendigvis bedre end at bruge en afledt tabel, men fører til mere forståelig TSQL-kode. En CTE er egentlig bare en forkortelse for en forespørgsel eller underforespørgsel; noget, der ligner en midlertidig udsigt.
Den situation, hvor CTE'er måske ikke er den bedste tilgang, er, når forespørgselsplanoptimeringsværktøjet får unøjagtige rækkeestimater for CTE'en.
Relateret spørgsmål:Hvad er fordelene/ulemperne ved at bruge en CTE?