select语句的执行顺序

本文详细介绍了SQL中SELECT语句的使用方法及执行顺序,并解释了having与where的区别。了解如何正确使用这些关键字对于高效地从数据库中检索数据至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SELECTt语句是SQL语句的核心语句,SELECT语句的一般格式为:

SELECT [ALL | DISTINCT] <目标列表达式> [别名] [,<目标列表达式> [别名]]...

FROM<表名或视图名> [别名] [,<表名或视图名> [别名]] ...

[WHERE <条件表达式>]

[GROUP BY <列名1>[HAVING <条件表达式>]]

[ORDER BY <列名2> ] [ASC | DESC];


select语句的主要的关键词分别为 select 、from、 where、 group by、having和order by。

执行顺序如下:

from、where、group by、having、select、order by 。

from:从哪张表查询数据。执行顺序是自右至左,在写SQL语句的时候,尽量把数据量小的表放在最右边来进行关联(小表去驱动大表)。

where:过滤数据条件。执行顺序是从左至右,在写SQL语句的时候,把能筛选中小量数据的条件放在where语句的最左边(用小表去驱动大表)。

group by:如何将where过滤出的数据进行分组。

having:对已经分组的数据进行过滤的条件。

select:查看结果集中的哪个列或是列的计算结果。在写SQL语句的时候,尽量少用*号,而是写出所需的具体字段。

order by:依据什么顺序来查看返回的数据。执行顺序是从左至右。


having和where的用法区别:

1、having只能用在group by 之后,它是对分组后的结果进行筛选(使用having的前提条件是分组)。

2、where在group by之前,也即在having之前。

3、where后的条件表达式里不允许使用聚合函数(count,sum,avg,max,min),而having可以。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值