mysql(三)(单表查询、select、where、聚合函数、count、sum、avg、MAX/MIN、分组查询、group by、having、limit)
单表查询
select
建个表
1、查询表中所有学生的信息
2、查询表中所有学生的姓名和对应的英语成绩
3、过滤表中重复数据
4、在所有学生分数上添加10分特长分
下面方式并没有改变底层的数据记录,这只是在查询的时候让快照显示这样的结果而已。
5、统计每个学生的总分
6、使用别名来显示学生总分
where
1、查询姓名为张飞的学生成绩
2、查询英语成绩大于90分的学生
3、查询总分大于270的同学
4、查询英语成绩在80-100之间的学生
5、查询数学成绩为75、76、77的同学
6、查询所有姓张的学生的成绩
- %——表示0和或多个字符
- _——表示1个字符
7、查询数学>80,语文>80的同学
聚合函数
count函数——用于统计行数
1、统计一个班级拥有多少学生
2、统计有多少个学生的数学成绩大于90分
3、统计总分大于270的人有几个
sum——将符合条件的某列的和值
1、查询所有数学成绩的总和
2、统计一个班级数学英语语文成绩的总和
avg——求平均值
求一个班级数学成绩的平均值
MAX/MIN——求符合条件的最大值和最小值
分组查询
建个表
group by
1、将商品按照名字分组,显示每一类商品的总价(因此用到了聚合函数sum)
只有在分组之后,可以在select里面使用聚合函数
having——进行分组之后的过滤操作
查询总价大于100元的商品的名称
where只能进行分组前的过滤,分组后的过滤工作只有having才能做
where语句中不允许使用聚合函数,having语句中允许使用聚合函数
查找单价小于100,总价大于100的商品
limit——查询部分数据
取前两条数据
将商品按照加个降序排序,输价格第三高的商品
可以利用limit 2,1 来获取第三行数据——limit 2,1 表示取从第2行开始的第1行数据