SQLServer查询分析器实战:简单查询与连接查询

需积分: 10 4 下载量 82 浏览量 更新于2024-08-15 收藏 440KB PPT 举报
"本实验指导主要涉及数据库技术基础,特别是SQL查询,包括简单查询和连接查询,旨在让学生熟练使用SQLServer查询分析器进行数据操作。实验涵盖了选择数据库对象、输入SQL代码、执行查询并查看结果的过程。" 在SQL查询中,简单查询通常涉及对单一表的投影(选择特定列)、选择条件、排序以及使用临时表。实验要求学生掌握以下几种基本查询: 1. 求数学系学生的学号和姓名:这可以通过SELECT语句结合WHERE子句实现,例如 `SELECT 学号, 姓名 FROM 学生 WHERE 系别 = '数学系'`。 2. 求选修了课程的学生学号:此查询可能需要查询选课表,例如 `SELECT 学号 FROM 选课`。 3. 按成绩降序、学号升序排列选修C1课程的学生学号和成绩:可以使用 `SELECT 学号, 成绩 FROM 选课 WHERE 课程号 = 'C1' ORDER BY 成绩 DESC, 学号 ASC`。 4. 输出成绩在80~90之间且选修C1课程的学生学号和成绩,并将成绩乘以0.8: `SELECT 学号, 成绩 * 0.8 FROM 选课 WHERE 课程号 = 'C1' AND 成绩 BETWEEN 80 AND 90`。 5. 求数学系或计算机系姓张的学生信息:这需要考虑多个条件,例如 `SELECT * FROM 学生 WHERE (系别 = '数学系' OR 系别 = '计算机系') AND 姓氏 = '张'`。 6. 求缺少成绩的学生学号和课程号:可能需要查询没有成绩的记录,如 `SELECT 学号, 课程号 FROM 选课 WHERE 成绩 IS NULL`。 连接查询是查询多个表之间的关系,包括等值连接、自然连接、笛卡尔积、一般连接、外连接、内连接、左连接、右连接和自连接等。例如: 1. 查询每个学生及其选修的课程:可以使用内连接 `SELECT 学生.学号, 学生.姓名, 课程.课程名, 选课.成绩 FROM 学生 JOIN 选课 ON 学生.学号 = 选课.学号 JOIN 课程 ON 选课.课程号 = 课程.课程号`。 2. 获取学生的学号、姓名、课程名和成绩:同上,通过连接操作获取所需信息。 3. 找出选修C1且成绩90分以上的学生学号、姓名和成绩: `SELECT 学生.学号, 学生.姓名, 选课.成绩 FROM 学生 JOIN 选课 ON 学生.学号 = 选课.学号 WHERE 选课.课程号 = 'C1' AND 选课.成绩 >= 90`。 4. 查询每一门课的间接先行课:这需要多层连接和自连接来查找课程的先行课的先行课。 在进行实验前,学生应编写相应的Transact-SQL语句,并在查询分析器中验证其正确性。实验步骤包括检查数据库记录、设置查询分析器、输入SQL语句并执行,最后查看和分析查询结果。通过这样的实践,学生能深入理解SQL语言和数据库操作,提升数据库技术基础。