admin 管理员组文章数量: 887007
MySQL select查询语句
##Select 查询语句
查询所有: select * form 表名;
条件查询:select * form 表名 where 条件;
模糊查询:下划线_代表一个占位任意字符,百分号%代表0或多个占位字符。
select * form 表名 where name like ‘%菜%’; --查找带有菜的名字,无论菜的位置在名字第几个字。
select * form 表名 where name like ‘___’; --查找姓名是三个字的人。
排序查询:ASC为升序,DESC为降序,默认为升序;
select * form 表名 order by math; --升序
--如果数学成绩一样,则按照英语成绩排序*:
select * form 表名 order by math ASC,english ASC ;
--如果有多个排序条件时,当前面的条件值相等时,才会判断第二个条件。
聚合函数:将一列数据作为一个整体,进行纵向的计算。注意:聚合函数的计算不包括null值,有null值则会忽略不计,造成结果偏小。解决方法:ifnull(a,b) a为列名,b为null值要被修改成数值b。
1.count:计算个数。select count(ifnull(math,0)) form student;
2.max:计算最大值,min同理;select max(math) form student;
3.sum:求和。select sum(math) form student;
4.avg:求平均值。select avg(math) form student;
分组查询:如通过性别分男女组。语法:group by 分组字段;
注意:1. 分组之后查询的字段:分组字段、聚合函数。
2.where和having的区别?
1.where在分组之前限定,如果不满足条件,则不参与分组。having在分组之后限定,
如果不满足结果,则不会被查询出来。
2.where后不可以跟聚合函数,having可以进行聚合函数的判断。
--按照性别分组,分别查询男、女同学的平均分,人数
select sex, avg(math),count(id) from student group by sex;
--按照性别分组,分别查询男、女同学的平均分,人数 要求:分数低于70分的不参与分组,
分组之后,每组人数需要大于2人
select sex, avg(math),count(id) from student where math>70 group by sex having count(id) >2;#
分页查询:分几页显示结果。1.语法:limit开始的索引,每页查询的条数;
2.公式:开始的索引 = (当前的页码 - 1) x 每页显示的条数。
select * form student limit 0,3;
本文标签: MySQL select查询语句
版权声明:本文标题:MySQL select查询语句 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1732350881h1533015.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论