非连续
select * from students where id in(1,3,8);
连续
select * from students where id between 3 and 8 and gender=1;
快速得到统计数据
示例: select count(*) from students
select sum(id) from students where isDelete=0 ;
子查询:select * from students where id=(select min(id) from students where idDelete=0);
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
第n页,显示m条数据select * from students<br/>where isdelete=0<br/>limit (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
原文地址:http://blog.51cto.com/13736429/2115364