1. 程式人生 > >oracle查詢語句執行順序

oracle查詢語句執行順序

lin oracle查詢 etc utl columns contain 處理 text lec

完整的查詢語句類似是這樣的:

select ..., ROWNUM
  from table
 where <where clause>
 group by <columns>
having <having clause>
 order by <columns>;

它的處理順序是:

  1. 首先,執行 FROM/WHERE 語句
  2. 為結果賦予 ROWNUM 並同時根據 FROM/WHERE 語句進行 rownum 過濾
  3. 執行 SELECT
  4. 執行 GROUP BY
  5. 執行 HAVING
  6. 執行 ORDER BY

PS: 如果存在分析函數(row_number etc),那麽,分析函數的執行會在 order by 之前。

oracle查詢語句執行順序