-- 查询英语成绩不为null SELECT*FROM student WHERE english ISNOTNULL;
_:单个任意字符
%:多个任意字符
-- 查询姓马的有哪些? like SELECT*FROM student WHERE NAME LIKE'马%';
-- 查询姓名第二个字是化的人 SELECT*FROM student WHERE NAME LIKE "_化%";
-- 查询姓名是3个字的人
SELECT*FROM student WHERE NAME LIKE'___';
-- 查询姓名中包含德的人 SELECT*FROM student WHERE NAME LIKE'%德%';
-- 关键词 DISTINCT 用于返回唯一不同的值。 -- 语法:SELECT DISTINCT 列名称 FROM 表名称 SELECTDISTINCT NAME FROM student ;
二、排序查询 order by
语法:order by 子句
order by 排序字段1 排序方式1 , 排序字段2 排序方式2…
注意: 如果有多个排序条件,则当前边的条件值一样时,才会判断第二条件。
1 2 3 4
-- 例子 SELECT*FROM person ORDERBY math; --默认升序
SELECT*FROM person ORDERBY math desc; --降序
三、 聚合函数:将一列数据作为一个整体,进行纵向的计算。
1.count:计算个数
2.max:计算最大值
3.min:计算最小值
4.sum:计算和
5.avg:计算平均数
四、 分组查询 group by
语法:group by 分组字段;
注意:分组之后查询的字段:分组字段、聚合函数
1 2 3 4 5 6 7 8 9 10 11 12 13
-- 按照性别分组。分别查询男、女同学的平均分 SELECT sex , AVG(math) FROM student GROUPBY sex;
-- 按照性别分组。分别查询男、女同学的平均分,人数 SELECT sex , AVG(math),COUNT(id) FROM student GROUPBY sex;
-- 按照性别分组。分别查询男、女同学的平均分,人数 要求:分数低于70分的人,不参与分组 SELECT sex , AVG(math),COUNT(id) FROM student WHERE math >70GROUPBY sex;
-- 按照性别分组。分别查询男、女同学的平均分,人数 要求:分数低于70分的人,不参与分组,分组之后。人数要大于2个人 SELECT sex , AVG(math),COUNT(id) FROM student WHERE math >70GROUPBY sex HAVINGCOUNT(id) >2;
SELECT sex , AVG(math),COUNT(id) 人数 FROM student WHERE math >70GROUPBY sex HAVING 人数 >2;