1.
1.1 SQL(结构化查询语言)

1.1.1
Select语句的执行顺序
SELECT语句中子句的执行顺序与SELECT语句中子句的输入顺序是不一样的,所以并不是从SELECT子句开始执行的,而是按照下面的顺序执行:
开始->FROM子句->WHERE子句->GROUP BY子句->HAVING子句->SELECT子句->ORDER BY子句->LIMIT子句->最终结果
每个子句执行后都会产生一个中间结果,供接下来的子句使用,如果不存在某个子句,就跳过 对比了一下,mysql和sql执行顺序基本是一样的, 标准顺序的 SQL 语句为:
select 考生姓名, max(总成绩) as max总成绩
from tb_Grade
where 考生姓名 is not null
group by 考生姓名
having max(总成绩) > 600
order by max总成绩
所以sql语句的书写时,合适的缩进会让sql语句的阅读性大大提升。
1.1.2
Sql关键字
Select 查询关键字
Where对表进行条件判断生成一个视图再由select查询其中信息
Groud by
将数据按照 group by 后面的字段分组,只返回每组的一条统计信息。即将字段值重复的行合并为一行
聚集函数

Having
having字句可以让我们筛选成组后的各种数据,where字句在聚合前先筛选记录。
having与where的区别:
having是在分组后对数据进行过滤
where是在分组前对数据进行过滤
having后面可以使用聚合函数
where后面不可以使用聚合
在查询过程中执行顺序:from>where>group(含聚合)>having>order>select。
order by
根据字段由小到大排序(系统默认由小到大),
若第一个字段重复了,order by后再加一字段再比较。
也可将sal换成数字(代表在表中是第几个字段,从1开始计数)
select name,job,sal from table_name where name = ‘张三’ order by sal;
Limit
LIMIT 语句可以被用来限制 SELECT 语句的返回行数。它需要传入 1 个或 2 个非负整数参数,第一个参数 offset 表示跳过前面多少行后开始取数据,第二个参数表示最多返回多少行的数据。默认 offset 为 0(不是 1)
总结
复习了sql语句的使用,在以前学习mysql不够仔细,更像是在学习jdbc和mybatis时的一个附属品,这次的复习也更是一个系统学习mysql的过程,基础的sql关键值也得到了系统的复习,最主要的是了解到了sql语句的执行顺序,给我写sql语句时提供了一个清晰的思路,在力扣的刷题过程中,我了解到了sql语句的书写更像一个数学题的解题,清晰的思路会让效率大幅度提升。
本文详细解析了SQL语句的执行流程,包括SELECT语句的执行顺序,并介绍了SQL的关键字如SELECT、WHERE、GROUP BY等的功能及用法。通过实际案例展示了如何正确地组织SQL查询,以提高查询效率。
1205

被折叠的 条评论
为什么被折叠?



