zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

[Mysql] SQL的书写顺序与执行顺序

mysqlSQL执行 顺序 书写
2023-09-11 14:22:54 时间

1.SQL书写顺序

-- 完整的SELECT语句(书写顺序)
SELECT [DISTINCT] 字段或表达式列表
FROM 表名
JOIN(LEFT JOIN, RIGHT JOIN) ON 连接条件
WHERE 筛选条件
GROUP BY 字段列表
HAVING 字段列表
ORDER BY 字段列表
LIMIT <m,n>;

其中SELECTFROM关键字是必不可少的,其他关键字是可选的 

示例

SELECT category, AVG(purchase_quantity)
FROM purchase_info
WHERE colour IS NOT NULL
GROUP BY category
HAVING COUNT(*) >= 2
ORDER BY AVG(purchase_quantity) DESC
LIMIT 1;

上述查询代码主要包括SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY、LIMIT关键字

2.SQL查询语句的执行顺序

-- 执行顺序
FROM > WHERE > GROUP BY > HAVING > SELECT > ORDER BY > LIMIT

1.执行FROM后面的语句,明确数据来源的表

2.执行WHERE后面的语句,对原始数据进行筛选

3.执行GROUP BY后面的语句,对数据进行分组

4.执行HAVING后面的语句,对分组聚合后的数据进行筛选

5.执行SELECT后面的语句,对处理好的数据选择取出的部分

6.执行ORDER BY后面的语句,对最终结果进行排序

7.执行LIMIT后面的语句,显示展示的部分条目


关于字段别名的使用:

(1)WHERE子句不能使用字段别名

(2)从GROUP BY子句开始,后面的所有子句可以使用字段别名