目录
一;DQL语法
select
字段列表
from
表名列表
where
条件列表
group by
分组字段列表
having
分组后条件列表
order by
排序字段列表
limit
分页参数
二;基础查询
//查询多个字段
select 字段1,字段2,... from 表名;
//全部查询
select * from 表名;
//设置别名
select 字段1[as 别名],... from stu;
//去重
select distinct 字段列表 from 表名;
三;条件查询
select 字段列表 from 表名 where 条件;
一些便捷写法
-- 9.查询 年龄等于21 或者 22 或者 23 的员工的信息 两种方法
select * from emp where age = 20 or age = 22 or age = 23;
select * from emp where age in(20,22,23);
重点讲解一下like的使用,“_”下划线代表任意一个字符,多少个下划线就代表有多少个任意字符
比如说,我这里要匹配名字长度为四的人员,那么就是四个下划线“____”,如果你要匹配长度为四且以n结尾的人员名字就可以这样写“___n”,下面是实例
“%”代表的是任意长度的任意字符,比如说我这么写“%n”,那么就会匹配所有以n结尾的字符串
下面是实例
四;聚合函数
1.介绍
将一列数据作为一个整体,进行纵向的计算
常见的聚合函数
> AVG //求平均值函数
> SUM //求和函数
> MAX、MIN //求最大值和最小值
> COUNT; //计算数据的总数
2.语法
select 聚合函数(字段列表)from 表名;
注意count是不会对NULL值计数的
五;分组查询
1.语法
select 字段 from 表名 [where 条件] group by 分组字段名 [having 分组后过滤条件];
2.where与having的区别
where在分组之前进行过滤,having是对分组之后的数据进行分组
而且在where中不可以使用聚合函数,但是在having中可以,
3.执行顺序和实例
实例:注意语句的执行顺序,首先把符合where条件的数据挑出来,然后根据group by进行分组,分完组后再去执行select后面的聚合函数,然后把符合having后面的条件的数据展现出来。
六;排序查询
1.语法
select 字段列表 from 表名 order by 字段1 排序方式一,字段2 排序方式二;
2.排序方式
asc 升序
desc 降序
注意如果是多字段排序,但第一个字段相同时,才会根据第二个字段排序。
七;分页查询
1.语法
select 字段列表 from 表名 limit 起始索引,查询记录数;
注意:在mysql中分页使用limit,但是在其他的数据库中则可能不同;
起始索引 = (查询页码 - 1)*查询页数。
可以去想一下图片的第二个案例的起始索引是怎么算出来的,没错上面不是有公式嘛!算一下就可以了呗!好的;不多说了,自己算吧!
八;编写顺序
关于执行顺序,要掌握好,在后面会经常使用到。
最后
本次的实验就到这里了,如果有讲得不对的或者有所欠缺得地方,欢迎大家来指正与补充,创作不易,还请点个赞再走吧!后面我还会更新其他计算机方面的博客,咱们下篇博客再见!