何时在sql中使用with子句

时间:2010-03-10 10:48:10

标签: sql-server

任何人都可以告诉我何时使用条款。

2 个答案:

答案 0 :(得分:4)

WITH关键字用于创建临时命名结果集。这些被称为Common Table Expressions

一个非常基本的,不言自明的例子:

WITH Administrators (Name, Surname)
AS
(
    SELECT Name, Surname FROM Users WHERE AccessRights = 'Admin'
)
SELECT * FROM Administrators 

有关进一步阅读和更多示例,我建议从以下MSDN文章开始:

答案 1 :(得分:3)

在SQL Server中,有时需要使用WITH子句强制查询使用索引。在空间查询中,这通常是必需的,可以将查询时间从1分钟减少到几秒。

select * from MyTable with(index(MySpatialIndex)) where...