MySQL第二天
查询模糊查询(like)
范围查询
非连续 select * from students where>
连续select * from students where>
聚合
快速得到统计数据
[*]count(*)
[*]sum()
[*]max()
[*]min()
[*]avg()
示例:select count(*) from students
select sum(id) from students where isDelete=0 ;
子查询:select * from students where>
分组(group by)
select gender as xb,count(*) as rs from students group by gender;
分组后筛选
select gender,count(*) from students group by gender having gender=1;
having&where:
where是对原始数据的筛选,针对from
having是对分组后结果进行筛选,针对group by
排序(order by)
默认升序
select * from 表名 order by 列1 asc|desc,列2 asc|desc,……
分页
select * from 表名 limit start,count
[*]从start开始(0),获取count条数据
[*] 第n页,显示m条数据
select * from studentswhere isdelete=0limit (n-1)*m,m;
总结
select (distinct) *
from 表名
where ....
group by ...
having ...
order by ...
limit start,count;
连接查询
表与表之间建立关系
select students.name,subjects.title,scores.score
from scores
inner join students on scores.stuid=students.id
inner join subjects on scores.subid=subjects.id;
通用模板
select distinct 列 *
from 表名1
inner|left|right join 表名2 on 表之间的关系
group by ……having……
order by ……asc|desc
limit start,count
5/11/2018 6:35:33 PM
页:
[1]