在哪里放WHERE子句?

时间:2011-06-07 00:34:51

标签: sql sql-server

为什么我不能在ORDER BY之后放置WHERE子句?

SELECT column1
FROM myTable
ORDER BY column2
WHERE column2 = 5

有标准参考吗?我在哪里可以获得SQL标准草案?

5 个答案:

答案 0 :(得分:3)

交换最后两行:

SELECT column1
FROM myTable
WHERE column2 = 5
ORDER BY column2

您的SELECT ... FROM ... WHERE语句是您提取的数据,ORDER BY对其进行排序。

但是对该查询进行排序毫无意义,因为您已经知道column2等于5

答案 1 :(得分:1)

WHERE子句应该在ORDER BY子句之前。 Here's a good article显示T-SQL中SELECT语句的格式。

答案 2 :(得分:1)

SELECT语法的详细信息如下:http://msdn.microsoft.com/en-us/library/ms189499.aspx

答案 3 :(得分:1)

那是因为SQL有一个语法顺序,大多数语言中的函数都会发生这种情况,如果切换参数,会发生什么?你不会得到预期的结果......

以下是基本SQL语句和语法顺序的快速指南参考:http://www.1keydata.com/sql/sql-syntax.html

答案 4 :(得分:1)

在本文件末尾http://en.wikipedia.org/wiki/SQL附近讨论了标准,但您可能需要从ISO支付官方标准文件的副本。