SQL实验二:数据库查询实验报告.doc

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

实验二 数据库的查询实验 实验目的和要求 (1)掌握SQL Server查询分析器的使用方法,加深对SQL和Transact-SQL语言的查询语句的理解。 (2)熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。 (3)熟练掌握数据查询中的分组、统计、计算和组合的操作方法。 实验内容和原理 在实验一定义的“学生成绩数据库”中,使用T-SQL语句完成以下查询: (1)求计算机系学生的学号和姓名。 (2)求选修了数学的学生学号、姓名和成绩。 (3)求选修01课程的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。 (4)查找选修课程的平均成绩位于前三名的学生的学号。 (5)查询计算机系的姓刘且单名的学生的信息。 (6)查询至少选修两门课程的学生学号。 (7)查询学生的学号、课程号以及对应成绩与所有学生所有课程的最高成绩的百分比。 (8)查询选修“数据库”课程,且成绩在80分以上的学生的学号和成绩。 (9)查询所有姓“王”的同学没有选修的课程名。(请分别用exists和in完成该查询) (10)查询选修了全部课程的学生的姓名。(请至少写出两种查询语句) (11)求选修了学生“95001”所选修的全部课程的学生学号和姓名。 (12)查询每一门课的间接先修课。 (13)列出所有学生所有可能的选课情况。 (14)列出每个学生的学号及选修课程号,没有选修的学生的学号也一并列出。 (15)输出与同性别并的所有同学的 1. 将查询需求用Transact-SQL语言表示。 2. 在 SQL Server查询分析器的输入区中输入 Transact-SQL查询语句。 3. 发布执行命令,查看查询结果;如果结果不正确,进行修改,直到正确为止。 4. 查询分析器及使用方法。 查询分析器是在开发数据库应用系统时使用最多的工具。查询分析器的主要作用是编辑Transact-SQL,将其发送到服务器,并将执行结果及分析显示出来(或进行存储)。查询分析功能主要通过测试查询成本,判断该查询是否需要增加索引以提高查询速度,并可以实现自动建立索引的功能、查询分析器的界面如图1所示。 在查询分析器中的左边窗口是对象浏览器,其中按树结构列出了数据库对象;右上方是SQL代码区域.用于输入 SQL的查询语句;右下方为结果区,用于显示查询结果和分析结果、对于TSQL语句的执行结果,在结果区中可以有4种不同的输出形式:标准执行将结果直接显示在结果区:网格执行将结果以表格形式显示在结果区;计划执行显示执行计划;索引分析为在结果区中显示查询的索引情况。上述输出形式,可以通过菜单或按钮选择。 五、调试过程 五、实验结果 六、总结 附录: --(1) 求计算机系学生的学号和姓名。 select sno,sname from student where sdept=计算机 --(2)求选修了数学的学生学号、姓名和成绩。 select s.sno,sname,grade from student s,sc,course c where s.sno=sc.sno and sc.cno=c.cno and cname=数学 --(3)求选修课程的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。 select sno,grade from sc where cno=1 order by grade desc,sno asc --(4)查找选修课程的平均成绩位于前三名的学生的学号。 select top 3 sno from sc group by sno order by avg(grade) desc --(5)查询计算机系的姓刘且单名的学生的信息。 select * from student where sdept=计算机 and sname like 刘_ --(6)查询至少选修两门课程的学生学号。 select sno from sc group by sno having count(*)=2 --(7)查询学生的学号、课程号以及对应成绩与所有学生所有课程的最高成绩的百分比。 select sno,cno,grade,最高成绩百分比= grade*100/(select max(grade)from sc) from sc --(8)查询选修“数据库”课程,且成绩在分以上的学生的学号和成绩。 select sno,grade from course c,sc where cname=数据库 and grade80 and c.cno=sc.cno --(9)查询所有姓“王”的同学没有选修的课程名。(请分别用exists和in完成该查询) -

文档评论(0)

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

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

1亿VIP精品文档

相关文档