正常情况下SELECT的书写顺序和执行顺序:

书写顺序:

SELECT》FROM 》WHERE》GROUP BY》HAVE》ORDER BY

一文让你彻底理解SELECT语句的执行逻辑_执行过程

执行顺序:

FROM 》WHERE》GROUP BY》HAVE》SELECT》ORDER BY

一文让你彻底理解SELECT语句的执行逻辑_获取数据_02

以下以Product表为例:

一文让你彻底理解SELECT语句的执行逻辑_执行顺序_03

执行以下代码说明执行过程:

SELECT product_type,count(*)
FROM Product
WHERE sale_price > 100
GROUP BY product_type
HAVING count(*) > 1
ORDER BY product_type

执行过程如下:

1、FROM product

指定从Product表获取数据。

2、WHERE sale_price > 100

筛选销售价大于100的:

一文让你彻底理解SELECT语句的执行逻辑_获取数据_04

3、GROUP BY product_type

以product_type列分组:

一文让你彻底理解SELECT语句的执行逻辑_获取数据_05

4、HAVING count(*) > 1

筛选出组内数据行大于1的

一文让你彻底理解SELECT语句的执行逻辑_获取数据_06

5、SELECT product_type,count(*)

筛选出product_type,count(*)列

一文让你彻底理解SELECT语句的执行逻辑_执行顺序_07

6、ORDER BY product_type

以 product_type列排序

一文让你彻底理解SELECT语句的执行逻辑_获取数据_08