一、查询语句
select * from table_name;
二、查询指定记录
select name,population from city where id=1;
三、带in的查询语句
select id,name,population from city where id IN (100,101);
注意,这里的(100,101)代表的意思是数组,即100或者101的意思
四、查询指定范围内的数据
select id,name,population from city where id between 10 and 20 ;
五、匹配字符的查询
select id,name,population from city where id like "***";
六、查询模糊字符
%=一个或多个字符串
_=一个字符串
N%d
C_ _
七、多条件查询
where后面加上and,意思是需要满足两个条件;
后面加上or,意思是满足任意一个条件即可;
and与or可以同时使用,但and的匹配优先级高于or;
八、带not的多条件查询
select * from city where id<10 and district not like 'z%d';
九、查询结果,要求不重复
select distinct countrycode from city where id<10;
十、查询结果的排序
我们使用的order by语句
ASC代表升序,DESC代表降序
select * from city where id >10 order by popluation DESC;
十一、多列排序
select * from city where id >10 order by popluation,name DESC;
按照先后顺序排序,先排populuation,然后在每个相同的内容里面,按照用name这一列的相应规则排序
十二、分组查询
使用group by语句
select countrycode,count(*) as total from city where id<10 group by countrycode;
语句的意思:
统计城市地区,与城市地区所出现的次数,并展示出来,用group by语句将countrycode这个列里面符合条件的数据自动分组,查询并显示结果
十三、对于分组之后还有条件,用having过滤分组
select countrycode,count(*) from total from city where id<101 group by countrycode having count(*)>10;
where 是在分组之前过滤数据,having 是在分组之后过滤数据,并且where的优先权比having高
十四、在group by后面求和
在最后加上一个with rollup
十五、多字段分组
select * from CITY where ID<10 group by COUNTRYCODE,DIDTRICT;
即用逗号将多个字段连接在一起,并且会按从左到右的顺序优先分组
十六、限制查询的行数
select * from CITY limit3;
select * from CITY limit 10,10;
这里表示从第10行开始,然后往后显示10条数据