《数据库实验四(9页).doc》由会员分享,可在线阅读,更多相关《数据库实验四(9页).doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-实验4 数据查询电子系 电气信息工程1 班 实验日期 2012 年 3月 30 日姓名 学号 指导教师 一实验目的1. 掌握使用Transact-SQL的SELECT语句进行基本查询的方法。2. 掌握使用SELECT语句进行条件查询的方法。3. 掌握嵌套查询的方法。4. 掌握多表查询的方法。5. 掌握SELECT语句的GROUP BY和ORDER BY子句的作业和使用方法。6. 掌握联合查询的操作方法。7. 掌握数据更新语句INSERT INTO、UPDATE、DELETE的使用方法。二.实验内容及步骤1. 在studentsdb数据库中,使用下列SQL语句将输出什么?(1) SELECT
2、COUNT(*) FROM grade(2)SELECT SUBSTRING(姓名,1,2) FROM student_info (3)SELECT UPPER(kelly) (4) SELECT Replicate(kelly,3)(5) SELECT SQRT(分数) FROM grade WHERE 分数=85(6) SELECT 2,3,POWER(2,3)(7) SELECT YEAR(GETDATE(),MONTH(GETDATE(),DAY(GETDATE()2. 在studentsdb数据库中使用SELECT语句进行基本查询。(1) 在student_info表中,查询每个学生
3、的学号、姓名、出生日期信息。(2) 查询学号为0002的学生的姓名和家庭住址。(3) 找出所有男同学的学号和姓名。3. 使用SELECT语句进行条件查询(1) 在grade表中查找分数在8090分之内的学生的学号和分数。(2) 在grade表中查询课程编号为0003的学生的平均分。(3) 在grade表中查询学习各门课程的人数。(4) 将学生按出生日期由大到小排序。(5) 查询所有姓“张”的学生的学号和姓名。4. 嵌套查询(1) 在student_info表中查找与“刘卫平”性别相同的所有学生的姓名、出生日期。(2) 使用IN子查询查找所修课程编号为0002、0005的学生学号、姓名、性别。(
4、3) 列出学号为0001的学生的分数比0002号的学生的最低分数高的课程编号和分数。(4) 列出学号为0001的学生的分数比学号为0002的学生的最高成绩还要高的课程编号和分数。5. 多表查询(1) 查询分数在8090范围内的学生的学号、姓名、分数。(2) 查询学习“C语言程序设计”课程的学生的学号、姓名、分数。(3) 查询所有男同学的选课情况,要求列出学号、姓名、课程名称、分数。(4) 查询每个学生的所选课程的最高成绩,要求列出学号、姓名、课程名称、分数。(5) 查询所有学生的总成绩,要求列出学号、姓名、总成绩,没有选修课程的学生的总成绩为空。(6) 为grade表添加数据行:学号0004、
5、课程编号为0006、成绩为76。查询所有课程的选修情况,要求列出课程编号、课程名称、选修人数,curriculum表中没有的课程列值为空。6. 使用UNION运算符将student_info表中姓“张”的学生的学号、姓名与curriculum表的课程编号、课程名称返回在一个表中,且列名为u_编号、u_名称。7. 数据更新(1) 创建totalgrade表,具有数据列:学号、姓名、总成绩。(2) 使用INSERT INTO语句通过student_info表更新totalgrade表的学号、姓名列数据。(3) 使用UPDATE语句通过grade表更新totalgrade表的总成绩列数据,使totalgrade表中每个学生的总成绩为grade表中该学生各成绩之和。(4) 删除totalgrade表中没有总成绩的学生记录。三、实验思考1 查询所有没有选修课程的学生信息,返回结果包括学号、姓名、性别。2 在student_info表和grade表之间实现交叉连接。3 查询每个学生的所选课程的成绩,并列出学号生成分组汇总(总成绩)和明细行(各课成绩)。-第 9 页-