我定义了完全相同的 2 个表:t2 和 t1。
t2 有 1000 行,t1 完全是空的。
如何从 t2 中选择前 500 行并将它们插入到 t1 中?
我将使用“emptyTable”和“populatedTable”,因为问题很混乱
重要的 TOP
没有 ORDER BY 会给出 500 个任意行。表格从来不存在隐含或自然的顺序
INSERT INTO emptyTable
SELECT TOP 500 *
FROM populatedTable
ORDER BY What -- need this to define TOP 500
这里缺乏列列表通常被定义为不好的做法,但只有在以下情况下才有效
Edit:
排序依据是required以保证行顺序。看看这些。它也在 ANSI 标准中
- http://sqlblog.com/blogs/alexander_kuznetsov/archive/2009/05/20/without-order-by-there-is-no-default-sort-order.aspx http://sqlblog.com/blogs/alexander_kuznetsov/archive/2009/05/20/without-order-by-there-is-no-default-sort-order.aspx
- http://blogs.msdn.com/b/conor_cunningham_msft/archive/2008/08/27/no-seatbelt-expecting-order-without-order-by.aspx http://blogs.msdn.com/b/conor_cunningham_msft/archive/2008/08/27/no-seatbelt-expecting-order-without-order-by.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)