实验5 SQL语言查询的综合练习.doc

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

石家庄经济学院 实 验 报 告 学 院: 信息工程学院 专 业: 计算机科学与技术 信息工程学院计算机实验中心制 学号 513109030101 姓名 张雪洁 实验日期 2014/4/30 实验室 260 指导教师 张有华 设备编号 JF260-20 实验内容 实验5 SQL语言查询的综合练习 一 实验题目 1.内外连接查询 2.嵌套查询 3.相关子查询 二 实验目的 1.掌握索引的建立与删除操作。 2.掌握视图的创建和查询操作,理解视图的作用。 3.掌握触发器的创建与使用,理解数据库安全性的定义。 三 实验内容 1.查询常量、命名列等(datediff函数的使用) 说明:命名列的方法:as 、 = 查询计算机学院的学生的学号、姓名、年龄。(要求命令列,并使用两种方法计算年龄)。 查询课程号为10001的课程的原始成绩和调整成绩,其中调整成绩=原始成绩+5分。 查询所有学生的学号、姓名和出生日期(要求出生日期只显示年份和月份)。 查询9月份出生的学生 查询所有的课程信息,在查询结果中增加关于学校的说明列“石家庄经济学院本部”。 2.Top练习 从C表中查询前5门课的信息。 从SC表中查询’10005’课程考试成绩较好的50%的成绩信息。 查找“高级语言程序设计”成绩最好的两个学生的信息。 查询女生人数最多的两个学院,查询结果显示:学院、女生人数。 3.通配符练习 查找名字为刘某某的学生信息,要求名字必须是3个字。(假设有刘明、刘兰花、刘芳等同学) 查找名字为刘某的学生信息,但是名字的第二个字不是“兰” 5.逻辑运算符(运算符的优先级为 NOT 、 AND 、OR,求值顺序自左向右,可以利用括号改变求值顺序) (1) 查找不是外语学院和会计学院的,成绩不及格或成绩为空的学生信息。 6.Group by 练习 查询各学院男生和女生的人数。 查询各个学院男生和女生人数,只显示人数超过5人的统计信息。 查询各个学院男生、女生的人数及其总人数。(rollup或cube) 统计各门课各个学院选修的人数、各学院选课人数、总人数。 分别统计各学院男生、女生的平均年龄。 说明:Group By 和 Having, Where ,Order by语句的执行顺序 关键字是按照如下顺序进行执行的:Where, Group By, Having, Order by。首先where将最原始记录中不满足条件的记录删除(所以应该在where语句中尽量的将不符合条件的记录筛选掉,这样可以减少分组的次数),然后通过Group By关键字后面指定的分组条件将筛选得到的视图进行分组,接着系统根据Having关键字后面指定的筛选条件,将分组视图后不满足条件的记录筛选掉,然后按照Order By语句对视图进行排序,这样最终的结果就产生了。在这四个关键字中,只有在Order By语句中才可以使用最终视图的列名,如:   SELECT FruitName, Place, Price, ID AS IDE, Discount   FROM FRUITINFO   WHERE (Place =china)   ORDER BY IDE   这里只有在ORDER BY语句中才可以使用IDE,其他条件语句中如果需要引用列名则只能使用ID,而不能使用IDE。 7.聚合函数(sum,min,max,avg,count)的使用 执行顺序是,先通过where子句查询出满足条件的记录,然后使用聚合语句进行统计计算,最后用having对分组统计后的数据进行进一步的筛选。 显示选课人数少于5人的课程名字 显示计算机学院的学生选修人数最多的课程的名字 查询不及格人数最多的两门课的课程号、课程名字和不及格人数 假设课程10001的成绩中有空值和非空的数值,请对比以下两个查询的结果 Select avg(score) From SC Where cno=’10001’ 和 Select avg(isnull(score,0)) From SC Where cno=’10001’ 请总结各聚合函数对空值的统计是怎样的? 8.外连接查询练习 注意多表(多于2个表)的内外连接查询时,表的顺序。 查询所有学生的选课情况。 查询所有课程的被选情况。 查询所有学生的选课情况和所有课程的被选情况。 10.嵌套查询与子查询 说明: ⑴ 至多可以嵌套32层,并且子查询中不允许使用order by. ⑵ 可以用子查询产生一个派生的表,用于代替 FROM 子句中的表 ⑶ 在 Transact-SQL 中,所有使用表达式的地方,都可以使用子查询代替 例如: 子查询产生一个派生表 查询各门

文档评论(0)

wuyuetian + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档