在采访中遇到过这个问题? 。 "有一个sql查询,其中包含where,having,group by,order by子句。所以当你尝试运行这个查询时,哪个条件会先执行?说过:"哪个班级会先执行。 "但我想知道下面的确切顺序sql查询。所以,
Sql是否遵循任何Order来根据它的条件执行查询? 。
如果是,那么,请告诉我订单是什么?
P> S:尝试了很多网络资源。但没有运气。
答案 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中的顺序:
FROM
ON
OUTER
WHERE
GROUP BY
CUBE | ROLLUP
HAVING
SELECT
DISTINCT
ORDER BY
TOP
修改强>
谈论一般情况。执行顺序是:
FROM
WHERE
GROUP BY
HAVING
SELECT
ORDER BY
参考:
答案 2 :(得分:2)
取自培训套件Querying MS SQL Server 2012
,第15页:
逻辑查询处理阶段:
1. FROM 2. WHERE 3. GROUP BY 4. HAVING 5. SELECT 6. ORDER BY