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

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子句开始,后面的所有子句可以使用字段别名

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值