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中命名的新字段进行排序。

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