一、基础讲解
整理这篇文章的初衷是刷面试视频看的有个面试官提及,SQL的执行顺序?
SQL都会写但缺乏深入思考,现整理分享,希望有所进步
常见SQL顺序讲解
查询中用到的关键词主要包含六个,并且他们的顺序依次为
select--from--where--group by--having--order by
select 和 from 是必须的,其他关键词是可选的
常见六个关键词的执行顺序如下:
from:需要从哪个数据表检索数据
where:过滤表中数据的条件
group by:如何将上面过滤出的数据分组
having:对上面已经分组的数据进行过滤的条件
select:查看结果集中的哪个列,或列的计算结果
order by :按照什么样的顺序来查看返回的数据
补充一下having的使用案例
having主要是在原有的基础上再起到一个过滤的作用
select sum(score) from student where sex = 'man' group by name having sum(score) > 80
having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数
使用having 条件显示特定的组,也可以使用多个分组标准进行分组
相对完善的逻辑整理: select语句的逻辑执行顺序
下面是SELECT语句的逻辑执行顺序:
from
join
on
where
group by
avg,sum,count等各种函数
having
select
distinct
order by(asc(升序),desc(降序))
limit
二、拓展补充
distinct关键字讲解
在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。
关键词 DISTINCT 用于返回唯一不同的值。
SELECT DISTINCT 列名称 FROM 表名称
如下是实测案例,可以筛选出重复的数据

非常感谢你阅读到这里,如果这篇文章对你有帮助,希望能留下你的点赞👍 关注❤️ 分享👥 留言💬thanks!!!