title: Why is CTE better than cursor/derived table/ subqueries/ temp table etc.?
body: <p>How and why CTE gives a better performance as compared to derived table/ subqueries/ temp table etc. approaches? </p>
  
  <p>Any temporary calculations happens in the temporary database. So if we have a cursor approach, it also creates temporary table/work table in  the temporary database and once the operation is over, that work table is destroyed. My understanding of CTE is that, it also does the same(or does it creates temporary result in memory?  and hence the performance improvement) Then why is it better than the above approaches like cursor/derived table/ subqueries/ temp table etc.?</p>