假设我有一张桌子:
CREATE TABLE [tab] (
[name] varchar,
[order_by] int
)
Run Code Online (Sandbox Code Playgroud)
表中有10行,所有行对order_by都有相同的值(假设它为0)
如果我然后发出以下SQL:
select * from [tab] order by [order_by]
Run Code Online (Sandbox Code Playgroud)
行的顺序是什么?在这种情况下,什么因素决定了行顺序?
它没有定义.数据库可以按照它选择的任何顺序将它们吐出来,甚至可以改变查询之间的顺序(如果感觉就好)(它可能不会这样做,但你不应该依赖于顺序一致).
如果您订购的列没有变化,则没有保证订单.
只要您想要定义订单,就需要一个良好的order by子句.我甚至无法想象为什么有人会使用orderby子句,如果正在排序的列中没有变化,或者为什么你甚至会有一个从不具有一个值的列.
| 归档时间: |
|
| 查看次数: |
195 次 |
| 最近记录: |