sql從大到小排序語句:sql語句排序查詢

理解 sql 語句的執行順序對我們優化 sql 有很大的幫助,那麼 sql 語句的執行順序是怎樣的呢,以一條簡單的的語句做分析:

Oracle優化:sql語句的執行順序

① 先執行 from 子句,明確數據的來源,從哪個表或哪個視圖來查詢

② 接著執行 where 子句,根據列出來的條件篩選數據

③ 然後執行 group by 子句,對數據進行分組

④ 再執行 having 子句,對分組後的數據進行篩選

⑤ 之後執行 select 子句,選擇展示哪些數據列

⑥ 最後執行 order by 子句,對應最終的結果進行排序

如何 sql 語句中有表連接,那麼會先執行連接的條件 on 子句再執行 join 子句。並且這部分的執行是在上述步驟的 ① 和 ② 之間就執行的。

這個步驟跟其他編程語言從上往下執行的順序不太一樣,但也是合乎情理的,相信也在廣大讀者的預料之中。雖然我們可能不知道資料庫的底層和原理,但是 sql 寫得多了,也就會發現這樣的規律,比如說別名的運用。

如下,給表 emp 取個別名 a,分別在 select 子句、where 子句、group by 子句中引用,都能正確執行。說明 from 子句的執行在這三個子句之前。

Oracle優化:sql語句的執行順序

再如下:在 select 子句中給 count(1) 起了個別名為 num,在 order by 子句中引用這個別名,執行正確。在 where 子句中引用這個別名,則執行錯誤。說明這三個子句的執行順序為 where > select > order by

Oracle優化:sql語句的執行順序

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/218765.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-09 00:33
下一篇 2024-12-09 00:33

相關推薦

發表回復

登錄後才能評論