http://kkbruce.blogspot.com/2011/01/t-sql-common-table-expression-cte.html

 

重點筆記:

  • 可以把CTE當成”Temp View”
  • 如果在Store Procedure使用CTE,會造成每次執行都會re-compiler,效能低落
  • 資料集未以Table存放於Database時,適合用CTE
  • View通常用來分解大型查詢,如果只用一次,那View不是好辦法
  • 子查詢只能從所在的”陳述式”存取,如果有多個相同的子查詢,必須含重覆程式碼,難閱讀及維護
  • CTE能在同批次下,重覆使用(像View一樣)
  • CTE只能用於其後第一個陳述式(Select, Insert, Delete, Update),此陳述式可多次取用CTE
  • CTE後面可接另一個CTE,使用逗號(,)