SQL 语句的执行顺序跟其语句的语法顺序并不一致
一般而言
SQL 语句的语法顺序是:
-
SELECT[DISTINCT]
-
FROM
-
WHERE
-
GROUP BY
-
HAVING
-
UNION
-
ORDER BY
其执行顺序为:
-
FROM
-
WHERE
-
GROUP BY
-
HAVING
-
SELECT
-
DISTINCT
-
UNION
-
ORDER BY
需要注意的是:
1、 FROM 才是 SQL 语句执行的第一步。数据库在执行 SQL 语句的第一步是将数据从硬盘加载到数据缓冲区中,以便对这些数据进行操作。
2、SELECT 是在大部分语句执行了之后才执行的,严格的说是在 FROM 和 GROUP BY 之后执行的。这就是你不能在 WHERE 中使用在 SELECT 中设定别名的字段作为判断条件的原因。
3、并非所有SQL都按照上述的顺序进行。
本文解析了SQL语句的实际执行顺序与语法顺序的不同,并详细介绍了各子句的执行时机及注意事项,帮助读者理解为何某些SQL特性会有特定的限制。
1365

被折叠的 条评论
为什么被折叠?



