所以我在工作中遇到了以下内容,我可以立即告诉它的但是我想找到它的任何文档,并且无法在线找到任何内容!
with details as
(
select *,
row_number() over (order by CREATED_DATE) as [Row]
from
(
select top 10 * from MyTable
) t
)
select *
from details
where [Row] > @lowLimit and [Row] < @highLimit
这对我来说就像它的分页功能一样。但是,我并不确切知道我在sql语法中看到的结构。有没有人认识到这种语法,你能指出我可以在哪里阅读更多关于它的内容吗?
谢谢!
答案 0 :(得分:6)
那是common table expression。这些用作单个查询的临时结果集。它们由以下查询处理,就像视图一样。你可以用它们做一些巧妙的东西,比如递归!
以下是链接中对其功能的简要说明:
关于分号,请查看this答案以获得一个非常有用的提示 - 为什么你应该总是以分号开头的CTE。