365文库
登录
注册
搜索
下载二维码
App功能展示
海量免费资源 海量免费资源
文档在线修改 文档在线修改
图片转文字 图片转文字
限时免广告 限时免广告
多端同步存储 多端同步存储
格式轻松转换 格式轻松转换
用户头像
三番五次在我心里 上传于:2024-06-14
第十一章 连接查询和分组查询 使用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 多表连接查询 多表连接查询的分类 多表连接查询实际上是通过各个表之间共同列的关联性来查询数据的,他是关系数据库查询最主要的特征。 常用的连接:内链接,外连接 内链接 内链接是最典型,最常用的连接查询,它根据表中共同的列来进行匹配,特别是两个表存在主外建关系时通常会使用到内链接查询 B.外连接 外连接是至少返回一个表中的所有记录,根据匹配条件有选择性地返回另一张表的记录。外连接可以是左外连接,有外链接 内链接查询 内链接查询通常会使用向“=”或“<>”等比较运算符来判断两列数据值是否相等 内链接使用inner join 、、、on关键字或where子句来进行表之间的关联。内链接查询可以通过两种方式实现 在where子句中指定连接条件 例如:查询学生姓名和成绩的T-SQL如下 Select Student、Sname,Score、CourseID,Score、Score From Student,Score Where Students.Scode=Score.StudentID 在from子句中使用insert join 、、、on 上面查询也可一通过这种方式来实现 Select s.Sname,c.courseID ,c.Score From Students AS s Inner join Score AS c on(s.Score=c.StudentID) 在上面的内链接查询中: A:ins
tj