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,使用逗號(,)