SQL SERVER中的WITH T AS () SELECT * FROM T 的用法
2014-02-28 10:15
489 查看
做一个简单的示例,SQL语句如下(使用的为SQLSERVER数据库):
Select * from (SELECT ROW_NUMBER()OVER(ORDER BY UpdateTime DESC) as row_number,
l.DataLoc,l.Code,l.Remark,l.CreateTime,us.ContactsAS Con
from House_Location l
LEFT JOIN
Tab_Cnus ON us.Id = l.UpdateUser
where 1=1 AND l.DataFrom ='广州') t where row_number BETWEEN 1 and 10
对于这句简单的SQL语句解读:
从别名表t中查询出符合条件的10条记录(即是一种分页控件的用法,只抽取分页后的10条记录)。
则另一种SQL语句的写法(此语句达到了同上语句的效果,只不过使用了WITH T AS ()SELECT * FROM T 的用法):
with t as (SELECT ROW_NUMBER() OVER(ORDER BY UpdateTimeDESC) as row_number,
l.DataLoc,l.Code,l.Remark,l.CreateTime,us.ContactsAS Con
from House_Location l
LEFT JOIN
Tab_Cn us ON us.Id = l.UpdateUser
where 1=1 AND l.DataFrom = '广州')
Select * from t where row_numberBETWEEN 1 and 10
以上为对WITH T AS () SELECT *FROM T 的简单使用心得,希望对大家有所帮助。
Select * from (SELECT ROW_NUMBER()OVER(ORDER BY UpdateTime DESC) as row_number,
l.DataLoc,l.Code,l.Remark,l.CreateTime,us.ContactsAS Con
from House_Location l
LEFT JOIN
Tab_Cnus ON us.Id = l.UpdateUser
where 1=1 AND l.DataFrom ='广州') t where row_number BETWEEN 1 and 10
对于这句简单的SQL语句解读:
从别名表t中查询出符合条件的10条记录(即是一种分页控件的用法,只抽取分页后的10条记录)。
则另一种SQL语句的写法(此语句达到了同上语句的效果,只不过使用了WITH T AS ()SELECT * FROM T 的用法):
with t as (SELECT ROW_NUMBER() OVER(ORDER BY UpdateTimeDESC) as row_number,
l.DataLoc,l.Code,l.Remark,l.CreateTime,us.ContactsAS Con
from House_Location l
LEFT JOIN
Tab_Cn us ON us.Id = l.UpdateUser
where 1=1 AND l.DataFrom = '广州')
Select * from t where row_numberBETWEEN 1 and 10
以上为对WITH T AS () SELECT *FROM T 的简单使用心得,希望对大家有所帮助。
相关文章推荐
- sql server 每日一记之 with as delete from where in (select)
- python中with...as的用法
- select into from 和 insert into select 的用法和区别
- SELECT INTO FROM 和 INSERT INTO SELECT 的用法和区别
- Insert into select From 的用法
- python with...as...用法
- Hibernate hql: 只支持用法 INSERT INTO ... SELECT ... FROM
- oracle with as 用法
- 和phpwind整合,用户登录后出现数据库连接出错 数据库连接出错:SELECT COUNT(*) AS pmNUM FROM pw_msg WHERE `touid`='552' AND type='rebox' AND ifnew=1
- 数据库语句 select * from table where 1=1 的用法和作用
- oracle 中 create table tb_content_bak as select * from tb_content where 1=2 long字段解决办法
- the same as,the same to,the same with的用法区别
- query must begin with SELECT or FROM
- sql with as 用法
- select into from 和 insert into select 的用法和区别
- SQL With As 用法
- Select From (Select from) as Alias
- [python]Python中from...import与import......as与with.....as
- oracle with as 用法
- select into from 和 insert into select 的用法和区别