SQL查詢語句執行順序

在寫SQL的時候發現select語句的執行順序和寫的順序不一樣,遂做出記錄一探究竟

SQL查詢語句的編寫順序是

  1. SELECT
  2. DISTINCT
  3. FROM
  4. JOIN
  5. ON
  6. WHERE
  7. GROUP BY
  8. HAVING
  9. ORDER BY
  10. LIMIT

但實際上SQL語句的執行順序爲

  1. FROM
  2. ON
  3. JOIN
  4. WHERE
  5. GROUP BY
  6. HAVING
  7. SELECT
  8. DISTINCT
  9. ORDER BY
  10. LIMIT

1、SQL會首先選擇我的表從哪裏選,這其中包括表的限制條件,(如連接方式JOIN和限制條件ON)
2、SQL會選擇我的判斷條件是什麼,也就是WHERE的問題
3、接着它會group by分組,並執行HAVING語句
4、SELECT 語句是在絕大多數語句執行完之後才執行,所以我們要明白在其前面執行的語句會影響它,並在實際工作中注意。這點尤其重要。
5、有了語句的執行順序後我們可以發現,order by 最後執行,所以我們可以將select中命名的新字段進行排序。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章