我的印象是,在 SQL 查询中使用 ORDER BY 不会影响为结果集选择了哪些记录。我认为 ORDER BY 只会影响结果集的呈现。
然而,最近,在我使用 ORDER BY 子句之前,我从查询中得到了意想不到的结果。这表明 a) ORDER BY 可以影响结果集中包含哪些记录,或者 b) 我还有一些其他需要处理的错误。
它是哪一个?
这是查询:SELECT node_id FROM users ORDER BY node_id LIMIT 100
(node_id 既是主键也是外键)。
如您所见,该查询包含一个 LIMIT 子句。似乎如果我使用 ORDER BY,则在选择前 100 名之前对记录进行排序。我原以为它会根据自然顺序选择 100 条记录,然后根据 node_id 对其进行排序。
我已经查找了有关 ORDER BY 的信息,但到目前为止,我能找到的唯一信息表明它只影响演示文稿......我正在使用 MySQL。