1.select * from person:查询表中所有属性
2.select '属性',... from person:查询需要的属性
3.select name as '姓名' from person:查询特定属性并起别名
4.select distinct name from person:查询去除重复项
4. order by '属性':按照 ‘属性’ 排序
5.order by '属性' desc:从高到低排序
6.orde by ‘属性’ asc:从低到高排序(默认)
7.查询id>1的人:select * from person where id>1;
8.查询id>1且name=‘zs’的人:select * from person where id>1 and name='zs';
9.查询id=1或id=4的人:select * from person where id=1 or id=4;
10.模糊查询:like
% 表示任意字符,如果没有使用 % ,like语句与 = 的效果相同
11.分页查询:limit
在查询时可以只检索前几条或者中间某几行的数据(数据量很大,几百万条时)
select * from person limit 0,3;
limit后面的第一个数字设置从哪里开始检索(偏移量,从0开始)
limit后面的第二数字是设置显示多少条
12.聚合函数
为了快速得到统计数据(多条数据的统计结果),提供了五个聚合函数
-count:查询某项数据一共包含多少条(统计总数)
查询表中共包含多少条数据(检索所有列):select count(*) from person;
查询表中一共有多少个人(只会检索一列):select count(name) from person;
推荐使用第二种写法,可以提高效率
- max(列):求此列最大值:select max(id) from person;
- min(列):求此列最小值:select min(id) from person;
- sum(列):求此列的和:select sum(id) from person;
- avg(列): 求此列的平均值:select avg(id) from person;
13.分组查询
分组:将表中数据分成若干小组,例如分为男人,女人等
语法格式:group by
通过国家分组,显示每个国家有多少人:select count(*) from person group by country;
查看每个国家的平均id:select avg(id) from user group by country;
14.过滤
select 列名 from 表名 where 过滤条件
使用where可以来过滤单行,如果想要过滤分组或者聚合之后的数据,要加having
- 显示每个国家的平均年龄,但是仅显示总年龄超过40的国家
select country ,avg(age) from user group by country having sum(age)>40;







网友评论