第四章SQL及数据查询第二讲.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章SQL及数据查询第二讲.ppt

第四章 关系数据库标准语言SQL 及数据查询;第二讲 查询结果的分组计算与排序; SELECT [ DISTINCT ] 目标字段表  FROM 表名1 [,表名2] [ , … ] [WHERE 表连接条件 [ AND 记录筛选条件 ] ] [ GROUP BY 分组字段表 ] [ HAVING 组过滤条件] [ORDER BY 排序字段1[ASC | DESC] [ 排序字段2 … ] ] ; SQL 不但有查询功能,而且还有计算方式的查询。用于计算查询的函数有: (1)COUNT---计数 (2)SUM---求和 (3)AVG---计算平均值 (4)MAX---求最大值 (5)MIN---求最小值 例4.12 求出学生来自多少个城市。 例4.13 求出来自“北京”的学生的总成绩。 例4.14 检索学时数最多的课程名和学分。 例4.15 检索出除北京之外的其他学生的平均分。;例4.12结果;例4.13结果;例4.14结果;例4.15结果;例4.13 求出来自“北京”的学生的总成绩。 SELECT SUM(成绩) FROM 选课表 ; WHERE 学号 IN (SELECT 学号 ; FROM 档案表 WHERE ; 家庭住址=’北京’) 结果是: 295 上面的“WHERE 学号 IN”中的IN不能用 “=”代替,否则,屏幕上将出现“子查询返回多条记录”的出错提示,命令将无法运行。; 例4.14 检索学时数最多的课程名和学分。 SELECT 课程名,MAX(学时数) FROM 课程表 结果是: 经济学 100 课程表中有两条满足条件的记录,但只显示满足条件的第一条。 例4.15 检索出除北京之外的其他学生的平均分。 SELECT AVG(成绩) FROM 选课表 ; WHERE 学号 NOT IN; (SELECT 学号 FROM 档案表 WHERE ; 家庭住址=’北京’) 结果是: 71.75;使用GROUP BY,短语格式如下: GROUP BY 字段名1 [, 字段名2 , .... ] [ HAVING 条件表达式 ] 例4.20 求出每门课程的平均分。 例4.21 计算选修了两门课以上学生的平均分 例 计算每个学生所得学分(注意不及格者);例4.20结果;例4.21结果;例:各学生学分; 根据多个属性进行分组。 在分组查询时,可以用HAVING子句来限定分组。 例4.17 计算选修了两门课以上学生的平均分。 SELECT 学号,COUNT(*),AVG(成绩) ; FROM 选课表 GROUP BY 学号 ; HAVING COUNT(*)=2 结果是: 2004130101 3 80.67 2004130102 2 82.50 2004150101 2 62.50 HAVING子句总是跟在GROUP BY子句之后,不能单独使用。在查询中先用WHERE子句限定元组,然后再进行分组,最后用HAVING条件子句限定分组。;例 计算每个学生所得学分(注意不及格者) SELECT 档案表.学号,姓名,SUM(学分); FROM 档案表,选课表,课程表; WHERE 档案表.学号=选课表.学号 AND; 课程表.课程号=选课表.课程号 AND ; 成绩 60 ; GROUP BY 档案表.学号,姓名;空值是数据库中的一个重要的概念, 它与空字符串和数值 0 等的含义不同,空值就是缺值或还没有确定的值。 注意:查询空值用 IS NULL ,而不能用 =NULL,空值是一个不确定的值,所以不能用“=”这样的运算符来进行比较。 ; 在联接查询中,SQL SELECT 允许在FROM短语中为文件名定义别名。 例4.23 检索出选修了会计学的学生姓名的信息。 SELECT 姓名 FROM 档案表,选课表,; 课程表 WHERE 课程名=’会计学’ ; AND 课程表.课程号=选课表.课程号; AND 选课表.学号=档案表.学号 用别名: SELECT 姓名 FROM 档案表 D,选课表 X , ; 课程表 K WHERE 课程名=’会计学’ ; AND K.课程号=X.课程号 AND X.学号=D.学号 结果: 王倩 刘留; 量词和谓词是SELECT语句中使用的词,表示如下: 表达式比较运算符[ANY|ALL|S

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档