连接查询和分组查询.doc

连接查询和分组查询.doc

ID:57615494

大小:27.50 KB

页数:6页

时间:2020-08-29

连接查询和分组查询.doc_第1页
连接查询和分组查询.doc_第2页
连接查询和分组查询.doc_第3页
连接查询和分组查询.doc_第4页
连接查询和分组查询.doc_第5页
资源描述:

《连接查询和分组查询.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第十一章连接查询和分组查询一.使用groupby进行分组查询语法:Select列名From表名Groupby列名1.查询男女学生的人数格式多少分析:首先按照性别进行分组:groupbySSex其次对每个组进行总数的统计,用到聚合函数count()。完整的T-SQL语句如下:Selectcount(*)AS人数,SSexfromStudentsGroupbySSex2.查询每个科目的平均分,并且按照由低到高的顺序排列显示SelectCourseID,avg(Score)AS课程平均成绩FromScoreGroupbyCourseIDOrderbya

2、vg(Score)DESC二.多列分组查询Selectcount(*)AS人数,SGradeAS年级,SSexAS性别FromStudentsGroupbySGrade,SSexOrderbySGrade二.使用having子句进行分组筛选1.查询年纪总人数超过15的年级Selectcount(*)AS人数,SGradeAS年级FromStudentsGroupbySGradeHavingcount(*)>152.查询平均分及格的课程信息SelectCourseIDAS课程编号,avg(Score)AS课程平均成绩FromstudentsGrou

3、pbyGourseIDHavingavg(score)>=60Having,where,orderby和groupby句子可以在同一个select语句中哟起使用,使用顺序如下Where→groupby→having→orderby3.查询每门课程及格总人数和及格学生的平均分Selectcount(*)AS人数,avg(Score)AS平均分,CrouseIDAS课程FromSCoreWhereScore>=60GroupbyCrouseID1.查询每门课程及格人数和及格平均分在80分以上的记录Selectcount(*)AS人数,avg(Scor

4、e)AS平均分,CrouseIDAS课程FromScoreWhereScore>=60GroupbyCrouseIDHavingavg(Score)>80OrderbyCrouseID四.多表连接查询1.多表连接查询的分类多表连接查询实际上是通过各个表之间共同列的关联性来查询数据的,他是关系数据库查询最主要的特征。常用的连接:内链接,外连接A.内链接内链接是最典型,最常用的连接查询,它根据表中共同的列来进行匹配,特别是两个表存在主外建关系时通常会使用到内链接查询B.外连接外连接是至少返回一个表中的所有记录,根据匹配条件有选择性地返回另一张表的记录

5、。外连接可以是左外连接,有外链接2.内链接查询内链接查询通常会使用向“=”或“<>”等比较运算符来判断两列数据值是否相等内链接使用innerjoin、、、on关键字或where子句来进行表之间的关联。内链接查询可以通过两种方式实现1.在where子句中指定连接条件例如:查询学生姓名和成绩的T-SQL如下SelectStudent、Sname,Score、CourseID,Score、ScoreFromStudent,ScoreWhereStudents.Scode=Score.StudentID2.在from子句中使用insertjoin、、、o

6、n上面查询也可一通过这种方式来实现Selects.Sname,c.courseID,c.ScoreFromStudentsASsInnerjoinScoreAScon(s.Score=c.StudentID)在上面的内链接查询中:A:insnerjoin用来连接两个表B:inner可以省略C:on用来设置条件D:AS指定表的“别名”,如果查询的别名在用到两个或多个表中不重复,则对这一列的引用不必用表名来限定五、外连接查询与内部连接相对的方式称为外部链接。在外部联接中参与联接的表有主从之分,以主表的每行数据匹配从表的数据列,江都和联接条件的数据直接

7、返回到结果集中;对那些不符合连接条件的列,将被填上NULL值(空值)后在返回到结果集中1.左外连接查询左外连接的结果集包括leftjoin子句中指定的左表的所有行,而不仅仅是联接列所匹配的行左外连接使用leftjoin、、、on或leftouterjoin、、、on关键字来进行表之间的关联例如:要统计所有学生的考试情况,要求显示所参加考试学生的每次考试分数,没有参加考试的学生也要显示出来。这时候,以学生信息表为主表(有时也叫做左表),学生成绩表为从表的做外连接查询如下:Selects.sname,c.CourseID,c.ScoreFromStu

8、dentsASSLeftouterjoinScoreASConS.Scode=C.studentID2.右外联接查询右外联接查询与左外联

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。