当前位置: 首页 > 面试题库 >

带“选择*”的默认SQL结果排序顺序是什么?

潘彦
2023-03-14
问题内容

如果我执行select * from mytable,将以什么顺序显示记录?它会采用第一列还是通过某种元数据对其进行排序?

我正在使用Oracle数据库。


问题答案:

NO 默认的“排序”命令。关系表 中的未排序

获取特定订单的唯一(真正的:唯一)方法是使用 ORDER BY

运行SELECT无时您看到的任何顺序ORDER BY都是 纯重合的, 并且可以在下一次执行时更改。

订单可能由于多种原因而发生变化:

  • 其他会话运行相同的语句
  • 表格已更新
  • 执行计划改变

这是一个小的SQLFiddle,它向您显示“顺序”如何更改:http
://sqlfiddle.com/#!4/19d14/2

请注意,初始“顺序”甚至与插入顺序也不相同!



 类似资料:
  • 问题内容: 我认为使用某种顺序才有意义。我想做的是在视图中包括该子句,以便该视图上的所有s都可以忽略它。但是,我担心该订单不一定会延续到,因为它没有指定订单。 是否存在一种情况,即视图指定的顺序不会反映在该视图上的select结果中(该视图中的order by子句除外)? 问题答案: 您不能指望没有显式子句的任何查询中的行顺序。如果查询有序视图,但没有包括子句,则如果它们的顺序正确,请感到惊喜,并

  • 问题内容: 当我使用IN从表中选择一组行时,例如 有一种SQL技巧可以按照IN集合中给定的顺序恢复它们吗? 因此,在示例中,假设x具有ID为23、55、44和12的行,则将按该顺序返回这四行。 问题答案:

  • 我试图从本地SQLite数据库中检索值。表的条目按“itemnumber ASC”排序。 当使用多个条件进行查询时,我希望所选条目按我的where条件的顺序排序。 数据库: 查询: 结果: 但它需要像这样:

  • 因此,对于具有精确条件条件匹配的查询,必须是1,20,这是正确的。 但对于另一个不完全匹配的条件,例如,它必须是1,10。 所以不适合全键的所有内容都应该回退到值为1,10的默认行。例如: 对安得烈来说,应该选1,20;对彼得来说,应该选1,10。

  • 问题内容: 更新时间 : 输出: 当我们添加时,需要一些信息来设置默认排序整数值,但是如果我将字符串添加到设置,则默认情况下不会排序。 更新: 并且Caps字母将在运行多次后始终进行排序。 java版本“ 1.6.0_26” Java™SE运行时环境(内部版本1.6.0_26-b03)Java HotSpot™客户端VM(内部版本20.1-b02,混合模式,共享) 请给我一些想法。谢谢 问题答案:

  • 这是选择排序吗?我认为这是泡泡排序,因为我使用的是(点)compareto。我在互联网上看不同的来源,所以我可以做一个。这是密码。