select
gender,count(*) #要查询的列,后面为统计人数分好组后再统计人数
from students #要查询的表
group by gender;#将数据分组,显示于后面
select
gender,group_concat(name,age) #要查询的列,group_concat()可以知道里面的信息
from students #要查询的表
where gender =1 #查询条件gender为1的也就是男的
group by gender;#将数据分组,显示于后面,格式为group_concat(name,age)
显示的结果为
select
gender,group_concat(naem)
from studer
group by gender
having count(*)>2;#having 为条件其分组后的数据要大于2
where对元素表进行判断,having对查询的结果进行判断
select
*
from studer
limit 3;#限制查询后显示的个数
limit 0,5;#表示从0开始查,查五个,少了就不显示,注意是下标
#注意limit要放在最后面
链接查询就是多个表之间的关联查询,两个表之间有某一个数据是由关联的,当需要两个表的数据时就要用到
select
*
from students
inner join classes on students.cls_id=classes.id;
#inner join 后面写其他表,on 后面写条件显示的结果为表students后面加classes表中的数据,按条件匹配的
#两个表中的数据有重复,只需要部分数据
select
students.*,classes.name
from students inner join classes on students.cls_id=classes.id;
#加上排序
select
students.*,classes.name
from students inner join classes on students.cls_id=classes.id
order by classes.name;
#左连接 inner 改为 left,表是左边的表按条件去匹配右边的数据,没有显示为null
select
students.*,classes.name
from students left join classes on students.cls_id=classes.id;