SQL语言嵌套查询和数据更新操作

数据库原理实验指导书 实验名称:试验一:SQL语言嵌套查询和数据更新操作 所属课程:数据库原理 实验类型:设计型实验 实验类别:基础□ 专业基础√ 专业□ 实验学时:4学时 一、实验目的 1.熟悉和掌握对数据表中数据的查询操作和SQL命令的使用,学会灵活熟练的使用SQL 语句的各种形式; 2.加深理解关系运算的各种操作(尤其的关系的选择,投影,连接和除运算); 3.熟悉和掌握数据表中数据的插入、修改、删除操作和命令的使用; 4.加深理解表的定义对数据更新的作用 二、预习与参考 1.熟悉SQL SERVER 工作环境; 2.连接到学生-课程数据库 3.复习对表中数据查询的SQL语言命令; 4.复习对表中数据的插入、修改和删除的SQL语言命令。 三、实验要求(设计要求) 针对教材例子,通过SQL SERVER企业管理器和查询分析器两种模式,熟悉数据嵌套查询、更新操作。 四、实验方法及步骤 1.在表S、C、SC上进行简单查询; 2.在表S、C、SC上进行连接查询; 3.在表S、C、SC上进行嵌套查询; 4.使用聚合函数的查询; 5.对数据的分组查询; 6.对数据的排序查询。 7. 将数据插入当前数据库的表S、C、SC中; A:用SQL命令形式 B:用SQL SERVER提供的企业管理器以交互方式进行 8.将以上插入的数据分别以.SQL文件和.txt文件的形式保存在磁盘上; 9.修改表S、C、SC中的数据; A:用SQL命令形式 B:用SQL SERVER提供的企业管理器以交互方式进行 10.删除表S、C、SC中的数据。 A:用SQL命令形式 B:用SQL SERVER提供的企业管理器以交互方式进行 五、实验内容 在表S,C,SC上完成以下操作: 1. 查询学生的基本信息; 2. 查询“CS”系学生的基本信息; 3. 查询“CS”系学生年龄不在19到21之间的学生的学号、姓名; 4. 找出最大年龄; 5. 找出“CS”系年龄最大的学生,显示其学号、姓名; 6. 找出各系年龄最大的学生,显示其学号、姓名; 7. 统计“CS”系学生的人数; 8. 统计各系学生的人数,结果按升序排列; 9. 按系统计各系学生的平均年龄,结果按降序排列; 10. 查询每门课程的课程名; 11. 查询无先修课的课程的课程名和学时数; 12. 统计无先修课的课程的学时总数; 13. 统计每位学生选修课程的门数、学分及其平均成绩; 14. 统计选修每门课程的学生人数及各门课程的平均成绩; 15. 找出平均成绩在85分以上的学生,结果按系分组,并按平均成绩的升序排列; 16. 查询选修了“1”或“2”号课程的学生学号和姓名; 17. 查询选修了“1”和“2”号课程的学生学号和姓名; 18. 查询选修了课程名为“数据库系统”且成绩在60分以下的学生的学号、姓名和成绩; 19. 查询每位学生选修了课程的学生信息(显示:学号,姓名,课程号,课程名,成绩); 20. 查询没有选修课程的学生的基本信息; 21. 查询选修了3门以上课程的学生学号; 22. 查询选修课程成绩至少有一门在80分以上的学生学号; 23. 查询选修课程成绩均在80分以上的学生学号; 24. 查询选修课程平均成绩在80分以上的学生学号; 25. 选做:针对SPJ数据库中的四个表S,P,J,SPJ,完成教材P74-75--习题5中的查询及教材P127--习题5中的查询。 26. 将数据分别插入表S、C、SC; 27. 将表S、C、SC中的数据分别以.SQL文件和.txt文件的形式保存在磁盘上。 28. 在表S、C、SC上练习数据的插入、修改、删除操作。(比较在表上定义/未定义主码(Primary Key)或外码(Foreign Key)时的情况) 29. 将表S、C、SC中的数据全部删除,再利用磁盘上备份的数据来恢复数据。 30. 如果要在表SC中插入某个学生的选课信息(如:学号为“200215121”,课程号为“c123”,成绩待定),应如何进行? 31. 求各系学生的平均成绩,并把结果存入数据库; 32. 将“CS”系全体学生的成绩置零; 33. 删除“CS”系全体学生的选课记录; 34. 删除学号为“S1”的相关信息; 35. 将学号为“S1”的学生的学号修改为“S001”; 36. 把平均成绩大于80分的男同学的学号和平均成绩存入另一个表S——GRADE(SNO,AVG——GRADE); 37. 把选修了课程名为“数据结构”的学生的成绩提高10%; 38. 把选修了“C2”号课程,且成绩低于该门课程的平均成绩的学生的成绩提高5%; 39. 把选修了“C2”号课程,且成绩低于该门课程的平均成绩的学生成绩删除掉; 40. 选做:将数据插入SPJ数据库中的四个表S,P,J,SPJ中,并以.SQL文件和.txt文件的形式保存在磁盘 SQL语言是用于管理和操作数据库的重要工具,它支持多种操作,包括数据查询、更新、插入和删除等。在“SQL语言嵌套查询和数据更新操作”这个主题中,我们将深入探讨这些概念。 嵌套查询是指在一个查询语句内部包含另一个查询语句,这种结构使得我们可以基于一个查询的结果来执行另一个查询。例如,在查询“CS”系学生年龄不在19到21之间的学生时,可能需要用到嵌套查询来先找到所有“CS”系的学生,然后筛选出年龄不符合条件的学生。 数据更新操作则涉及到对数据库中已有记录的改动。这包括插入新数据、修改现有数据以及删除数据。例如,向表S、C、SC中插入新学生信息,可以使用`INSERT INTO`语句;修改学生信息,如将学号为“S1”的学生学号修改为“S001”,则需要用到`UPDATE`语句;而删除数据,比如删除“CS”系全体学生的选课记录,会使用到`DELETE FROM`语句。 在SQL中,查询数据通常涉及选择(SELECT)、投影(PROJECTION)、连接(JOIN)和除法(DIVISION)等基本操作。例如,查询学生基本信息涉及选择所有列,而查询“CS”系学生信息则需添加一个WHERE子句来限定系别。连接查询允许从多个表中合并数据,例如查询选修了特定课程的学生信息。 聚合函数(如COUNT、SUM、AVG、MAX和MIN)用于对一组数据进行计算。例如,统计“CS”系学生的人数可以使用`COUNT()`函数,找出年龄最大的学生则可能需要结合`MAX()`函数。分组(GROUP BY)和排序(ORDER BY)操作帮助我们按照特定标准组织查询结果,例如按系别分组并按平均成绩升序排列。 实验中还提到了使用SQL SERVER企业管理器进行交互式操作,这是图形用户界面的工具,方便用户直观地管理数据库,而SQL命令行方式更适用于自动化和复杂的数据处理任务。 此外,实验还强调了主键(Primary Key)和外键(Foreign Key)的概念,它们在数据完整性中起到关键作用。主键确保表内数据的唯一性,而外键则建立了表之间的关联。在有或没有这些约束的情况下进行数据插入、修改和删除,会产生不同的效果和限制。 实验内容涵盖了广泛的查询场景,从简单的单表查询到复杂的多表连接、嵌套查询,再到数据的统计分析,这些都是数据库操作的基础,对于理解和掌握SQL语言至关重要。通过这些实践,学生能够加深对关系数据库理论的理解,并提升实际操作技能。



剩余17页未读,继续阅读

















- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- PLC的智能交通灯控制系统设计.doc
- 2023年华南师大作业电子商务概论.doc
- 第8章-酵母基因工程.ppt
- Android课程设计(推荐文档).doc
- 2023年实验五二叉树基本操作的编程实现实验报告.doc
- 智能环境助手-硬件开发资源
- 大学生校园网络借贷的风险及防范(3页).doc
- VC6.0MFC串口通信编写全过程.doc
- 2023年java面试基础总结.doc
- 2022网络编辑工作计划_.docx
- java程序设计项目教程电子教案教材全套课件教学教程整本书电子教案全书教案.ppt
- Scrum敏捷项目管理知识.docx
- lol 3d模型资源啦啦啦啦啦
- 船舶及海洋工程动力系统集成产业化项目机械成套及海洋工程配套项目(报告书).docx
- H3C中小企业网络解决方案实战篇精.pptx
- IDEA东海岸推广策略方案.docx



评论7