* select * from exam where name='李四' and english>90;
* 查询姓李的学生的信息
* like 可以进行模糊查询 ,%在like中代表占位符. '_'只能代表一个字符,%可以代表多个字符
* '李_' 名字中必须是两个字,而且是姓李的.
* %李 名字以李结尾的
* %李% 名字中包含李的
* 李% 以李字 开头的
* select * from exam where name like '李%';
* 查询英语成绩是69,75,89学生的信息,查询的是英语成绩69到89 分之间的所有学生
* select * from exam where english in(69,75,89);
* **排序查询**
* 使用order by 字段名称 **asc(升序**)/**desc(倒序);**
* 查询学生信息, 并且按照语文成绩进行排序;
* select * from exam order by chinese;
* 查询学生信息,并且按照语文成绩倒叙排序:
* select * from exam order by chinese desc;
* 查询学生信息,先按照语文成绩进行倒叙排列,如果成绩相同的在按照英语成绩升序进行排列
* select * from exam order by chinese desc,english asc;
* 查询姓李的学生的信息,按照英语成绩降序排序
* select * from exam where name like '李%' order by english desc;
* **分组统计查询**
#### 分组统计查询
* 聚合函数的使用
* 求总和 sum,求英语成绩总和 (**按照字段求和,按列计算**)
* select sum(english) from exam;
* 查询英语成绩总和和数学成绩总和(**横向求和,按行计算**)
* select sum(english+math) from exam;
* 查询姓李的学生的英语和数学成绩的总和
* select sum(english),sum(math) from exam where name like '李%';
* 查询所有学生各科的总成绩:
* 第一种方法:
* select sum(english)+sum(chinese)+sum(math) from exam;
* 第二种方法:
* select sum(english+chinese+math) from exam;
* 加入english 中有一个人成绩么有录入成绩,那么我们需要这样求和通过ifnull做一下判断
* select sum(ifnull(english,0)+chinese+math) from exam;
* 获取所有学生的总数
* count();
* select count(*) from exam;
* 获取某一个姓氏的学生的个数
* select count(*) from exam where name like '李%';
* 常用的用来求最大值,最小值,平均数的语句
* 最大值 : select max(english) from exam;
* 最小值: select min(english) from exam;
* 平均数: select avq(english) from exam**;**
* **分组查询**
* 语法: 使用group by 字段名称;
* 环境准备
```sql
create table orderitem(
id int primary key auto_increment,
product varchar(20),
price double
);
insert into orderitem values (null,'电视机',2999);
insert into orderitem values (null,'电视机',2999);
insert into orderitem values (null,'洗衣机',1000);
insert into orderitem values (null,'洗衣机',1000);
insert into orderitem values (null,'洗衣机',1000);
insert into orderitem values (null,'冰箱',3999);
insert into orderitem values (null,'冰箱',3999);
insert into orderitem values (null,'空调',1999);
```
* 按商品名称统计 ,每类商品所购的个数
* select product,count(*) from orderitem group by product; (group by 后面跟什么就是以什么分组)
* 按商品名称统计,每类商品锁花费的总金额:
* select product,sum(price) from orderitem group by product;
* 按商品名称统计 ,统计每类商品花费的总金额在5000元以上的商品
* select product,sum(price) from orderitem group by product having sum(price);
* 总结:使用规则
* S(select)...F(from)..W(where)..G(group by).. H(having)..O(order by);
* 即select from