习题
1. 名次解释
基本表 视图 实表 虚表 相关子查询 连接查询 嵌套查询 导出表
临时子图 交互式SQL 嵌入式SQL 游标
2. 设教学数据库中有四个关系:
教师信息表(工号,姓名,性别,职称,所属院系,邮箱,参加工作年月,基本工资,岗位津贴,照片)
选课表(课程代码,课程名称,开课院系,学分,工号,时间,教室,课程类型)
学生信息表(学号,姓名,性别,院系,出生年月,户籍地,是否党员,当前绩点(GPA),备注)
成绩表(学号,课程代码,成绩)
试用SQL的查询语句表示下列查询:
(1)检索年龄小于17岁的女学生的学号和姓名;
(2)检索男学生所学课程的课程号和成绩;
(3)检索男学生所学课程的任课老师的工号和姓名;
(4)检索至少选修两门课程的学生学号;
(5)检索至少有学号为000002和000004学生选修的课程的课程号;
(6)检索学生名为WANG同学的不学的课程的课程号;
(7)检索全部学生都选修的课程的课程号和课程名。
3. 设教学数据库中有如上题所述四个关系,试用SQL的查询语句表示下列查询:
(1)统计有学生选修的课程门数;
(2)求教师姓名为刘的老师所授课程的每门课程的平均成绩;
(3)统计每门课程的学生选修人数(超过10人的课程才统计),要求显示课程号和人数,查询结果按人数降序排列,若人数相同,按课程号升序排列;
(4)检索学号比王同学小,而年龄比他大的学生姓名;
(5)检索姓名以陈打头的所有学生的姓名;
4. 试用SQL 更新语句对上题的教学数据库关系进行如下更新操作:
(1)往关系选课表中插入一个课程元组(‘MATH01.1’,’高等数学’,’李书豪’);
(2)检索所授每门课程平均成绩均大于80分的教师姓名,并把检索到的值送往另一个已存在的表FACULTY(TNAME);
(3)在成绩表中删除尚无成绩的选课元组;
(4)把选修刘老师课程的女同学选课元组全部删去;
(5)把课程名为MATHS的不及格成绩全改为60分;
(6)把低于所有课程总平均成绩的女同学成绩提高5%;
(7)在成绩表中修改课程代码为ENGL11004.01课程的成绩,若成绩小于等于70分时提高5%,若成绩大于70分时提高4%;
(8)在成绩表中,当某个成绩低于全部课程的平均成绩时,提高5%。