CTE(Common Table Expressions)简单介绍(一)

时间:2022-02-09 15:48:07

上星期去上了个公开课,关于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语句看起来容易理解点,但是对性能没有任何的提高。性能和原来的一样。