连接查询和分组查询

Posted yangshuwenzuibang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了连接查询和分组查询相关的知识,希望对你有一定的参考价值。

技术图片

 

 

 比如要查询每个年级的总成绩,一个年级一个年级的输入会显得代码冗余,这时用group by进行每个年级依次查询,代码会精简很多

 

分组查询语句:

技术图片

 

 

 比如:要计算每个年级各有多少人?代码如下                             

select   count(*)as 人数,Grade as 年级

from student

group by Grade

 

Group by 的作用:

对查询数据进行分组。

根据上述代码,在select 中加入聚合函数后,普通列如果不使用group by 则爆红,会提醒使用group by 。

如果不使用 group by ,能运行出来的话,我猜想运行结果应该是

技术图片

 所以使用group by 可以算出来每个年级的人数

技术图片

技术图片

注意:order by 对已经查询的信息进行排序。如果我们没有用order by进行排序,并且group by后面有多个列名,那么默认按照group by  

最后一个列名进行排序,如果想要对某一列进行排序,可以用 order by 。

分组查询:

语句:

技术图片

 

Question:  查询表(Student)中地址中包括上海,总人数超过十五的年级

select   count(*) as 人数,Grade as 年级

from student

where address like ‘%上海%‘

having count(*)>15

 

where 和 having 的区别:

where 对普通列条件的限制

having 对聚合函数条件的限制

 

 

 

 

 

以上是关于连接查询和分组查询的主要内容,如果未能解决你的问题,请参考以下文章

连接查询和分组查询

连接查询和分组查询

连接查询和分组查询

连接查询和分组查询

sql分组查询和连接查询

分组查询和连接查询