SQL ASNI where from group order 顺序

SQL语句执行顺序:

from-->where-->group by -->having --- >select --> order

第一步:from语句,选择要操作的表。

第二步:where语句,在from后的表中设置筛选条件,筛选出符合条件的记录。

第三步:group by语句,把筛选出的记录进行分组。

第四步:having语句,设置条件筛选分组后的数据。

第五步:select语句,选取经过上述流程后的结果集。

第六步:order by语句:将select后的结果集按照顺序展示出来。

注意:

掌握SQL语句执行流程非常重要,是理解并写好SQL语句的前提,根据实际业务逻辑要执行的数据库操作对应到SQL语句的执行流程能够帮助我们快速写出相应功能的标准SQL语句。

where和having区别:

where在group by前, having在group by 之后。

where 用于 过滤数据行 , having 用去过滤分组,是结果集过滤

where 针对数据库文件进行过滤,having 针对查询结果进行过滤,也就是说 where 根据数据表中的字段直接进行过滤的 having是根据前面已经查询出的字段(结果集)进行过滤 ,where 先过滤 having 后过滤

where中不能使用聚合函数,having中可以使用聚合函数。原因:因为聚合函数是针对结果集进行的,但where是在查询结果集之前进行,故where中不能使用聚合函数;having是针对结果集做筛选的,故一般把聚合函数放在having中。

HAVING 关键字和 WHERE 关键字都可以用来过滤数据,且 HAVING 支持 WHERE 关键字中所有的操作符和语法。

相关推荐
Apache IoTDB1 天前
时序数据库 IoTDB 集成 MyBatisPlus,告别复杂编码,简化时序数据 ORM 开发
数据库·struts·servlet·时序数据库·iotdb
isNotNullX1 天前
怎么用数据仓库来进行数据治理?
大数据·数据库·数据仓库·数据治理
小坏讲微服务1 天前
Spring Cloud Alibaba Gateway 集成 Redis 限流的完整配置
数据库·redis·分布式·后端·spring cloud·架构·gateway
whb2341741241 天前
测试linux删除Oracle文件,使用文件句柄恢复
linux·运维·oracle
HitpointNetSuite1 天前
连锁餐饮行业ERP系统如何选择?
大数据·数据库·oracle·netsuite·erp
一路向北North1 天前
网页版预编译SQL转换工具
前端·javascript·sql
百***17071 天前
MySQL 常用 SQL 语句大全
数据库·sql·mysql
百***65951 天前
mysql如何发现慢查询sql
数据库·sql·mysql
资深web全栈开发1 天前
PostgreSQL 实战指南(面向 MySQL 开发者)
数据库·mysql·postgresql
TG:@yunlaoda360 云老大1 天前
谷歌云数据库服务概览:关系型与 NoSQL 的多元选择与应用场景解析
数据库·nosql·googlecloud