在编写了大量 SQL 脚本之后,您可能会在性能方面达到某种形式的平台期。您使用相同的策略提取见解并遇到相同类型的错误。
幸运的是,您可以通过花时间了解如何评估 SQL 中的子句来改善编写查询的体验。
在这里,我们讨论 SQL 中的执行顺序并解释它的重要性。
SQL 查询在评估子句时遵循特定的顺序,类似于数学运算遵循 PEMDAS 或 BIDMAS 的方式。
从用户的角度来看,查询从第一个子句开始,到最后一个子句结束。但是,查询实际上并不是在执行时从上到下读取的。
查询中子句的执行顺序如下:
2、WHERE:执行WHERE子句,过滤掉不满足约束条件的记录。
GROUP BY:执行 GROUP BY 子句,根据一列或多列中的值对数据进行分组。
HAVING:执行HAVING子句,删除创建的不满足约束的分组记录。
SELECT:执行 SELECT 子句以派生所有所需的列和表达式。
ORDER BY:执行 ORDER BY 子句以按升序或降序对派生值进行排序。
LIMIT/OFFSET:最后,执行 LIMIT 和/或 OFFSET 子句以保留或跳过指定数量的行。
为了说明 SQL 中的执行顺序,最好举个例子。
我们有两个名为 Orders 和 Products 的表,其中详细说明了文具项目的情况。