关键字“order”附近的语法不正确。 SQL Server

时间:2017-09-20 06:40:21

标签: sql-server sql-server-2012

请帮助我理解下面的内容

为什么

(select top 1 * from dbo.module order by [order])

抛出错误?

select top 1 * from dbo.module

select top 1 * from dbo.module order by [order]

不是吗?

2 个答案:

答案 0 :(得分:1)

在整个语句中使用括号不是一个好的语法/语句。这有效:

 (SELECT top 1 * FROM dbo.module) ORDER BY [order]

答案 1 :(得分:1)

因为SQL Server执行语句,并且语句具有为它们指定的确切语法。

SELECT语句必须以SELECT关键字开头。 如果语句以括号开头,则它是子查询,并且您不能在其中使用“排序依据”。