ORDERBY--SQL的奇怪问题
几天前,我在创建一个我使用的新表时遇到了一个奇怪的问题,ORDERBY--SQL的奇怪问题,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,几天前,我在创建一个我使用的新表时遇到了一个奇怪的问题,orderby Select - Into - From and Order By (column name) 当我打开那张桌子时,看到桌子没有相应地排列 我重新验证了多次,以确保我做了正确的事情 我想补充的另一件事是,直到我不在中使用时,我才能看到所需的结果,但一旦我创建了新表,我就会发现tht列没有顺序。请帮帮我 提前谢谢。。在发布这个问题之前,我做了三天的研究,但还没有找到答案 SELECT [WorkOrderID],
orderby
Select - Into - From and Order By (column name)
当我打开那张桌子时,看到桌子没有相应地排列
我重新验证了多次,以确保我做了正确的事情
我想补充的另一件事是,直到我不在中使用时,我才能看到所需的结果,但一旦我创建了新表,我就会发现tht列没有顺序。请帮帮我
提前谢谢。。在发布这个问题之前,我做了三天的研究,但还没有找到答案
SELECT
[WorkOrderID], [ProductID], [OrderQty], [StockedQty]
INTO
[AdventureWorks2012].[Production].[WorkOrder_test]
FROM
[AdventureWorks2012].[Production].[WorkOrder]
ORDER BY
[StockedQty]
SQL 101初学者版:SELECT语句没有定义顺序,除非您定义了顺序
当我打开那张桌子的时候
这可能会在没有订单的情况下发布SELECT(TOP 1000 IIFC)
创建新表时,我使用Select-Into-From和orderby(列名)
哪种类型是完全不相关的-您基本上浪费了对输入数据进行排序的性能
要在select中创建订单,请通过向select添加order by子句来创建订单。表的内部顺序是按聚集索引进行的,但是查询可以按它想要的任何顺序返回结果。基本的SQL问题,正如我在第一句中所说的。任何关于sql的好书都会在第一章中介绍这一点。SQL使用集合方法,集合没有内在顺序。SQL 101初学者:SELECT语句没有定义的顺序,除非您定义了顺序
当我打开那张桌子的时候
这可能会在没有订单的情况下发布SELECT(TOP 1000 IIFC)
创建新表时,我使用Select-Into-From和orderby(列名)
哪种类型是完全不相关的-您基本上浪费了对输入数据进行排序的性能
要在select中创建订单,请通过向select添加order by子句来创建订单。表的内部顺序是按聚集索引进行的,但是查询可以按它想要的任何顺序返回结果。基本的SQL问题,正如我在第一句中所说的。任何关于sql的好书都会在第一章中介绍这一点。SQL使用集合方法,集合没有内在顺序。首先,T-SQL是一种基于集合的语言,集合没有顺序。更重要的是,它也并不意味着命令的串行执行,即上述查询不是按顺序执行的,而是SELECT语句的处理顺序如下:
1.FROM
2.ON
3.JOIN
4.WHERE
5.GROUP BY
6.WITH CUBE or WITH ROLLUP
7.HAVING
8.SELECT
9.DISTINCT
10.ORDER BY
现在,当您执行查询而不将插入到中时,所选列数据将根据“Order By”
子句中指定的条件进行排序,但当使用into
时,新表的格式将通过计算select列表中的表达式来确定。(请记住,Order By子句尚未计算)。
新表中的列是按照选择列表指定的顺序创建的,但行不能排序。这是你可以参考的Into条款的限制
首先,T-SQL是一种基于集合的语言,集合没有顺序。更重要的是,它也并不意味着命令的串行执行,即上述查询不是按顺序执行的,而是SELECT语句的处理顺序如下:
1.FROM
2.ON
3.JOIN
4.WHERE
5.GROUP BY
6.WITH CUBE or WITH ROLLUP
7.HAVING
8.SELECT
9.DISTINCT
10.ORDER BY
现在,当您执行查询而不将插入到中时,所选列数据将根据“Order By”
子句中指定的条件进行排序,但当使用into
时,新表的格式将通过计算select列表中的表达式来确定。(请记住,Order By子句尚未计算)。
新表中的列是按照选择列表指定的顺序创建的,但行不能排序。这是你可以参考的Into条款的限制
实际上,order by不能保证表中的顺序的原因是表的(物理)顺序不是由insert order定义的,而是由表上的聚集索引定义的(如果存在,这是非常推荐的)。实际上,order by不能保证表中的顺序的原因是(物理)表的顺序不是由插入顺序定义的,而是由表上的聚集索引定义的(如果存在聚集索引,则非常推荐)。