非连续 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;