【问题标题】:ORACLE SQL ROWNUM execution orderORACLE SQL ROWNUM 执​​行顺序
【发布时间】:2010-06-11 02:34:31
【问题描述】:

在 Oracle SQL 中,有一个可能的条件称为 rownum。我可以确认 rownum 将作为返回记录数的限制最终执行吗? 还是可以先执行,然后再执行其他 WHERE SQL 条件(如果我们将 rownum 放在其他条件之前)?

【问题讨论】:

    标签: sql oracle


    【解决方案1】:

    它不等同于其他语言中的 LIMIT。如果您计划使用 rownum 限制记录数,则需要在内部子查询 ORDER BY 并在外部查询中使用 rownum。 WHERE 子句中的元素顺序无关紧要。 请参阅 Tom Kyte 的 this excellent article

    【解决方案2】:

    是的,在 WHERE 子句中,ROWNUM 总是在所有其他谓词都被求值后最后求值,不管它们的顺序如何。

    然而,它在任何 GROUP BY 或 ORDER BY 子句之前进行评估。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-06
      • 2021-10-02
      • 2021-09-01
      • 2015-11-24
      • 2018-06-01
      • 1970-01-01
      • 2014-11-12
      相关资源
      最近更新 更多