【基础】SQL执行顺序

学SQL查询语句的时候,需要了解一下sql的执行顺序:

from-> on-> join-> where-> group by-> having-> select-> distinct-> order by-> limit

在 SQL 查询语句中,通常会按照以下顺序执行各个关键字及子句:

FROM:指定要查询的数据表,生成虚拟表以供后续操作使用。
ON / JOIN:指定连接条件,根据条件将两个表中的行匹配起来。ON 用于指定连接条件(一般用于 INNER JOIN),而 JOIN 则是连接表的关键字。
WHERE:对从 FROM 子句得到的虚拟表进行筛选,只保留满足条件的行。
GROUP BY:将数据按照指定的列进行分组,生成若干个分组。
HAVING:对分组后的结果进行筛选,只保留满足条件的分组。
SELECT / DISTINCT:选择要查询的列或表达式,生成查询结果集。DISTINCT 用于去重。
ORDER BY:对结果集按照指定的列进行排序。
LIMIT:限制返回结果的行数,常用于分页查询。

这个顺序描述了 SQL 查询语句的逻辑执行顺序,但实际数据库系统在执行查询时会根据查询优化器和执行计划的策略进行调整,以提高查询性能。

因此,虽然按照这个顺序编写查询语句有助于理解和维护,但并不意味着数据库系统就会严格按照这个顺序执行。

在实际使用中,建议根据具体情况编写清晰、易读的 SQL 查询语句,并在需要时使用索引、优化器提示等手段来优化查询性能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值