关于SQL语句的执行顺序,大家baidu “sql 执行顺序 ” 这两个关键字就可以得到很多的讲解。
今天在这里 是为了记录一下当中的一个容易忽略的小点: Order by 的使用。
如果在SQL语句当中使用了 order by 关键字,那么返回的将是游标,而不是表(或者视图),所以不能够被当做正常的结果集(视图)来使用,只能将该游标反馈给进行查询的用户。 也就既不能被用来创建视图,也不能作为子查询来使用。
但是在微软增强过的T-SQL上,有一个关键字除外——Top。 Top 关键字是可以对Order By 之后的游标进行操作的。
举两个栗子:
错误的:
select *或者
from(select testOrder,others from testTable order by testOrder)
as d
create view testView
as
select *
from testTable
order by orderList
特例:
select Top 9 *from testTable
order by orderList