认识 DBMS...................................................................................1 实验 2 交互式 SQL(1)........................................................................ 6 实验 3 交互式 SQL(2)........................................................................ 8 实验 4 交互式 SQL(3)........................................................................ 9
① 查询计算机系全体学生的信息 ② 查询姓“李”的学生的学号和姓名。 ③ 查询课程表中先行课为空的课程名。 ④ 查询考试成绩有不及格的学生的学号。 ⑤ 求选修了C1 课程或C2 课程的学生的学号及成绩。 ⑥ 查询全体计算机系学生的姓名及其年龄。 ⑦ 查询计算机系在1986-1987 年之间出生的学生的姓名。 ⑧ 查询姓“李”的前两个学生的学号和姓名。 ⑨ 查询选修了两门以上课程的学生学号与课程数。 ⑩ 查询选修课程数大于等于2 的学生的学号、平均成绩和选课门数,并按 平均成绩降序排列。(1) 查询选修了【数据库原理】的计算机系的学生学号和姓名。 (2) 查询每一门课的间接先行课(即先行课的先行课)。 (3) 查询学生的学号、姓名、选修课程的名称和成绩。 (4) 查询选修了课程的学生姓名。 (5) 查询所有学生的信息和所选修的课程。 (6) 查询已被选修的课程的情况和所有课程的名字。 (7) 列出学生所有可能的选修情况。 (8) 查找计算机系的学生选修课程数大于2 的学生的姓名、平均成绩和选课 门数,并按平均成绩降序排列。(1) 统计选修了【数据库原理】课程的学生人数。 (2) 查询没有选修【数据库原理】课程的学生信息。 (3) 查询其他系中比计算机系学生年龄都小的学生。 (4) 查询被0602001 学生或0602002 学生所选修的课程的课程号(用UNION 组合查询与IN 条件查询两种方法实现)。 (5) 查询0602001 学生和0602002 学生同时选修的课程的课程号(用 INTERSECT 组合查询与EXISTS 嵌套子查询两种方法实现)。 (6) 查询被0602001 学生选修,但没有被0602002 学生所选修的课程的课程 号(用EXCEPT 组合查询与NOT EXISTS 嵌套子查询两种方法实现)。(1) 新建查询窗口,选择StudentCourseYYXXXX 为当前数据库。 (2) 在已建立StudentCourseYYXXXX 数据库和StudentsYYXXXX、 CoursesYYXXXX、SCYYXXXX 3 个表的基础上,向StudentCourseYYXXXX数据库中 的表更新数据。 ① 向表StudentsYYXXXX 中插入(0601001,赵林, 男,1985-09-08,计算机) 的记录。② 向SCYYXXXX 表中添加一个学生的选课记录,学号为0601001,所选的课 程号为C2。 SC表中有Sno、Cno、Grade 这3 个列。这里只知道学号和课程号, 不知道成绩值。 ③ 向表StudentsYYXXXX 中插入(0601002,张修雨,default)记录,该记录 的数据中default 表示默认值‘男’,其他数据表示空值。 ④ 用CREATE 语句建立表StudentBAK1YYXXXX,包含(与Students 的Sno、 Sname、Sdept 相同)3 个字段, 然后用INSERT SELECT 语句实现向 StudentBAK1YYXXXX 添加StudentsYYXXXX 表中的计算机系学生的学号、姓名、 所在系的信息。 ⑤ 用 SELECT...INTO 语句实现把StudentsYYXXXX 表中1986 年后(包含 1986 年)出生的学生的学号、姓名存储到一个新表StudentBAK2YYXXXX。 ⑥ 将姓名为【赵林】的同学的所在系改为【机电系】,爱好改为【足球】。 ⑦ 将选修了课程名为【数据库原理】的学生成绩加5 分。 ⑧ 将StudentCourseYYXXXX 数据库的StudentBAK1YYXXXX 表中所有姓赵的 同学删除。 ⑨ 删除计算机系选修成绩不及格的学生选修记录。课程成绩优秀。