1. 程式人生 > >CTE(Common Table Expressions)簡單介紹(一)

CTE(Common Table Expressions)簡單介紹(一)

上星期去上了個公開課,關於CTE(Common Table Expressions)。

CTE在MSSQL 2005的時候已經出現。當然,不是MSSQL的特有的,在Oracle裡也有。

CTE是在SQL語句裡定義一個臨時的資料集,然後在跟著的SQL語句裡面使用。

一下是一個簡單的例子:

With test_cte As
(
   Select * From abc
)
Select * From test_cte

例子裡,With就是CTE的定義語句,test_cte就是那個臨時的資料集。在定義後,在跟著的SQL語句裡就能直接使用。

如上面的例子。其實就等價於:

Select * From abc

當然,這不是CTE出生的原因。這個只是一個簡單的例子去說明而已。

CTE能把多次呼叫的子句簡化,讓SQL語句看起來容易理解點,但是對效能沒有任何的提高。效能和原來的一樣。