[英]"SELECT column_name FROM table_name" unexpected result
没有意外的行为。
SQL 表表示无序集。 结果集是无序的,除非您在最外层查询中明确有ORDER BY
。
添加ORDER BY
以获得您想要的结果:
SELECT TOP 7 CustomerID
FROM [SalesLT].[Customer]
ORDER BY CustomerID;
如果您没有ORDER BY
而结果恰好看起来是有序的,那只是巧合。 如果要保证排序,则需要ORDER BY
。
如果出现意外行为,那是因为错误的假设存在行的潜在物理顺序。 没有一个。 SQL 是一种解释型语言。 当在没有ORDER BY
的情况下执行SELECT
语句时,解释器决定返回哪些行。 很多时候行以所需的顺序返回,但不能依赖它,因为解释器对行排序不做任何保证。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.