重点:
掌握where子句
掌握数据排序
掌握5种聚合函数使用方法
了解分组和分页
字段和表都有别名
给字段起别名:
给表起别名:
distinct
过滤重复记录
无重复的 其组合在一起不重复的
where
实现有条件的查询
前面的控制查询返回什么样的字段(列)
where子句 返回什么样的记录(行)
这样就会组成二维表格
比较运算符
逻辑运算符
and:
or:
not:
where not age != 30;
那就是=30
求反 不是天津的
逻辑运算符练习:
模糊查询like
% 表示任意多个字符
_ 表示任意一个字符
以b结尾:
只要含b:
练习:
姓名为两个字
范围查找
in:非连续范围
between begin and end
连续范围查找 [begin,end]
练习:
<15 >30
空判断
注意upadte和delete等都可以用where子句 其用法是通用的
update where
delete where
练习:
order by排序
asc(默认值) 从小到大排序 升序
desc 从大到小排序 降序
age从大到小 age相同时,再按id从小到大排序
有优先级 先排第一个 依次排下去
order by 和 where 相同时 where在前面
升序class 降序id 男
![](https://img-blog.csdnimg.cn/direct/512c4ff8767d4092b807804bc472812c.png)
聚合函数
聚合函数不用到where里面
count(字段名)求select返回的记录总数
//1.有多少条记录
//2.有多少条名字记录
//3.有多少条无重复的班级记录
max
min
sum:数量总和
avg
注意:avg 计算时会把null这一条记录去除
练习:
as可以省略
数据分组:
按照字段分组
group by 字段名
select 聚合函数 from 表名 where 条件 group by 字段
select 聚合函数 from 表名 group by 字段
group by 就是配合聚合函数来使用的
先where 后group by 再order by
分组后的数据筛选
group by 后面接having
having 后面可以跟聚合函数
where 先筛选符合条件的记录 然后再聚合统计
having 先分组聚合统计 再在统计的结果中筛选
having 先分组把男女分别统计出来 再挑选sex = 男的显示出来
分组后的数据筛选
选择班级人数大于3的班级
where 是对原始数据原始数据
having 是对已经分过组的结果数据
练习:
选择班级人数大于2的班级,平均年龄>30
显示指定的记录数 limit
第几行开始 要显示多少行 行号从0开始编号
1,2都是查询前三行
3.查询从第四行开始的后的三行记录
选择年龄最大的同学
分页:
每页显示4条记录,查询第2页的数据
select * from students limits 4,4;
总页数 非整数+1
group by 一般是和聚合函数配合使用的