第十一章连接查询和分组查询
使用group by 进行分组查询
语法:
Select 列名
From 表名
Group by 列名
查询男女学生的人数格式多少
分析:
首先按照性别进行分组:group by SSex
其次对每个组进行总数的统计,用到聚合函数count()。
完整的T-SQL语句如下:
Select count(*) AS 人数,SSex from Students
Group by SSex
查询每个科目的平均分,并且按照由低到高的顺序排列显示
Select CourseID,avg(Score) AS 课程平均成绩
From Score
Group by CourseID
Order by avg(Score) DESC
多列分组查询
Select count(*) AS 人数,SGrade AS 年级, SSex AS 性别
From Students
Group by SGrade,SSex
Order by SGrade
使用having 子句进行分组筛选
查询年纪总人数超过15的年级
Select count(*) AS 人数,SGrade AS 年级
From Students
Group by SGrade
Having count(*)>15
查询平均分及格的课程信息
Select CourseID AS 课程编号,avg(Score) AS 课程平均成绩
From students
Group by GourseID
Having avg(score)>=60
Having ,where,order by 和group by句子可以在同一个select语句中哟起使用,使用顺序如下
Where→group by → having →order by
查询每门课程及格总人数和及格学生的平均分
Select count(*) AS 人数,avg(Score) AS 平均分, CrouseID AS 课程
From SCore
Where Score>=60
Group by CrouseID
查询每门课程及格人数和及格平均分在80分以上的记录
Select count(*) AS 人数,avg(Score) AS 平均分,CrouseID AS 课程
From Score
Where Score>=60
Group by CrouseID
Having avg(Score)>80
Order by CrouseID
多表连接查询
多表连接查询的分类
多表连接查询实际上是通过各个表之间共同列的关联性来查询数据的,他是关系数据库查询最主要的特征。
常用的连接:内链接,外连接
内链接
内链接是最典型,最常用的连接查询,它根据表中共同的列来进行匹配,特别是两个表存在主外建关系时通常会使用到内链接查询
外连接是至少返回一个表中的所有记录,根据匹配条件有选择性地返回另一张表的记录。外连接可以是左外连接,有外链接
内链接查询
内链接查询通常会使用向“=”或“<>”等比较运算符来判断两列数据值是否相等
内链接使用inner join 、、、on关键字或where子句来进行表之间的关联。内链接查询可以通
连接查询和分组查询 来自淘豆网m.daumloan.com转载请标明出处.