实验六-查询中使用统计函数、分组查询和连接查询-实验指导.docVIP

实验六-查询中使用统计函数、分组查询和连接查询-实验指导.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验 实验指导 一、1. SUM函数 用于计算一列或多列的算术表达式的和。 语法格式为: SUM([ALL|DISTINCT] 表达式) 说明: 使用DISTINCT关键字表示不计重复值。默认为ALL,计算全部值。 例1 查询学生200215021选修课程的总分。 SELECT SUM(Grade) FROM sc WHERE sno=200215121 2. AVG函数 用于计算一列或多列的算术表达式的平均值。 语法格式为: AVG([ALL|DISTINCT] 表达式) 例2 查询学生200215021选修课程的平均分。 SELECT AVG(Grade) FROM sc WHERE sno=200215121 3. MAX函数 用于计算一列或多列的表达式的最大值。 语法格式: MAX(表达式) 例3查询选修2号课程的学生最高分。 SELECT MAX(Grade) FROM sc WHERE cno=2 4. MIN函数 用于计算一列或多列的表达式的最小值。 语法格式: MIN(表达式) 例4 查询选修1号课程的学生最低分。 SELECT MIN(Grade) FROM sc WHERE cno=2 5. COUNT和COUNT(*)函数 用于计算查询到的结果的数目。 语法格式: COUNT([ALL|DISTINCT] 表达式) 或 COUNT(*) 说明: COUNT(表达式)不计算空值行,COUNT(*)计算所有行(包括空值行)。 例5 查询选修了课程的学生人数 SELECT COUNT(DISTINCT Sno) FROM SC 例6 查询学生总人数。 SELECT COUNT(*) FROM Student 二、 SELECT Cno,COUNT(Sno) FROM SC GROUP BY Cno 如果GROUP BY子句中指定了多个列,则表示基于这些列的唯一组合来进行分组。在该分组过程中,首先按第一列进行分组并按升序排列,然后再按第二列进行分组并按升序排列,依次类推,最后在分好的组中进行汇总。因此当指定的列顺序不同时,返回的结果也不同。 对于分组统计的结果,还可以进一步根据HAVING中指定的条件进行筛选,从而得到符合要求的汇总结果。 例8 查询选修了3门以上课程的学生学号。 SELECT Sno FROM SC GROUP BY Sno HAVING COUNT(*) 3 在数据汇总时也可以使用WHERE子句,当同时存在GROUP BY子句、HAVING选项和WHERE子句时,其执行顺序为先WHERE,后GROUP BY,再HAVING,即先用WHERE子句过滤不符合条件的数据记录,接着用GROUP BY 子句对余下的数据记录指定列分组,组后再用HAVING选项排除一些分组。 三、…ON关键字。另一种是早期SQL SERVER连接语法形式,连接写在WHERE子句中。在SQL SERER中可以设定兼容级别为80及以下(在对象资源管理器中展开相应的数据库,右击,选择“属性”,在弹出的“数据库属性”对话框中选择“选项”,有兼容级别设置)才能使用这种形式。在SQLServer2005中推荐使用ANSI形式的连接。两种连接的语法格式如下。 SQL Server连接的语法格式: SELECT 查询列表 FROM 表1,表2 WHERE 表1.列1 比较运算符 表2.列2 其中比较运算符可以是:=、、、=、=、等。 说明: 连接的列(属性)名可不相同,但数据类型必须兼容。 当比较运算符是“=”时,称等值连接,否则为非等值连接。 ANSI连接的语法形式如下: SELECT 表名.列名[,…n] FROM {表名1 [连接类型] JOIN表名2 ON 连接条件} [,…n] WHERE 查询条件 连接查询包括以下几种类型。 1. 内连接 从两个或两个以上的表的组合中,挑选出符合连接条件的数据。如果数据无法满足连接条件,则将其丢弃。通常称这种方法为内部连接INNER JOIN。在内部连接中,参与连接的表的地位是平等的。它有两种形式:等值连接和自然连接。等值连接会产生冗余列,因为它将连接条件中的共享列显示两次。而自然连接则清除了等值连接产生的冗余列,因此我们所说的内连接在没有特殊说明时都指的是自然连接。 例9 查询所有学生的选课信息。 用SQL Server形式进行连接: SELECT student.sno,sname,cno FROM student,sc WHERE student.sno=sc.sno 用ANSI形式进行连接: SELECT student.sno,sname,cno FROM student INNER JOIN sc ON student.sno=sc.sno 2. 外连接 在使用内连接查询时,

文档评论(0)

bhl0572 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档