当前位置: 代码迷 >> Sql Server >> ,为什么一句重命名不加竟然报错
  详细解决方案

,为什么一句重命名不加竟然报错

热度:77   发布时间:2016-04-24 09:14:59.0
求助,为什么一句重命名不加竟然报错
本帖最后由 u013200703 于 2015-04-05 13:56:32 编辑
AS D去掉后就报错了--关键字 'order' 附近有语法错误。
这个是为什么。。。我一直认为重名名是可有可无的~

select country, region, city

from(
select country, region, city, 0 as tt
from HR.Employees

union all

select country, region, city, 1 
from Production.Suppliers
AS D
order by tt, country, region, city


谢谢~


------解决思路----------------------
语法就规定。必须有别名,你再关联多一张表看看,是不是缺少个表名称?
------解决思路----------------------

-- 这种写法,必须加个别名,这个死规定。
select * from (
select * from mytable 
) x 



------解决思路----------------------
MS SQL强制要求内嵌SQL必须给别名的
------解决思路----------------------
sql,不是oracle
------解决思路----------------------

select * from test as t--此处t是表别名,可有可无,原因是别名前面的表名是一个的实体表名

select * from (
    select * from test 
)  t   --这种其实是一种衍生表,即一个查询的结果作为另一个查询的结果集,后面的t其实就是给这个结果集取个表名,是不能省略的,语法规定
  相关解决方案