关于SQL查询的优先级列表?

时间:2014-06-06 09:32:55

标签: sql

在采访中遇到过这个问题? 。 "有一个sql查询,其中包含where,having,group by,order by子句。所以当你尝试运行这个查询时,哪个条件会先执行?说过:"哪个班级会先执行。 "但我想知道下面的确切顺序sql查询。所以,

Sql是否遵循任何Order来根据它的条件执行查询? 。

如果是,那么,请告诉我订单是什么?

P> S:尝试了很多网络资源。但没有运气。

3 个答案:

答案 0 :(得分:2)

来自SQL Query Order of Operations

1.FROM clause
2.WHERE clause
3.GROUP BY clause
4.HAVING clause
5.SELECT clause
6.ORDER BY clause 

答案 1 :(得分:2)

WHERE没有先来。这是mssql中的顺序:

  1. FROM
  2. ON
  3. OUTER
  4. WHERE
  5. GROUP BY
  6. CUBE | ROLLUP
  7. HAVING
  8. SELECT
  9. DISTINCT
  10. ORDER BY
  11. TOP
  12. 修改

    谈论一般情况。执行顺序是:

    1. FROM
    2. WHERE
    3. GROUP BY
    4. HAVING
    5. SELECT
    6. ORDER BY
    7. 参考:

答案 2 :(得分:2)

取自培训套件Querying MS SQL Server 2012,第15页:
逻辑查询处理阶段:

1. FROM  
2. WHERE  
3. GROUP BY  
4. HAVING  
5. SELECT  
6. ORDER BY