《access和SQL数据库练习及答案.pdf》由会员分享,可在线阅读,更多相关《access和SQL数据库练习及答案.pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 数据库技术及应用实践考核上机考试练习题 B(201010)给定的学生_选课库中数据库表结构及样本记录表 1-表 6 数据如下:学生(学号,姓名,年龄,性别,所在系);课程(课程号,课程名,先行课);选课(学号,课程号,成绩).表 1 学生表结构 字段名 数据类型 长度 是否为空 约束 学号 CHAR 5 否 主键 姓名 CHAR$8 否 年龄 SMALLINT 默认 20?性别 CHAR 2 “男”或“女”所在系 CHAR 20,表 2 课程表结构 字段名 数据类型 长度 是否为空%约束 课程号 CHAR 5 否 主键 课程名 CHAR】20 否 先行课 CHAR 5 CHAR 5 否 主键
2、,外键 课程号 CHAR 5 否 主键,外键 成绩 SMALLINT 0100 表 4 学生表数据 序号 学号 姓名 性别 年龄 所在系 1 S1(李明 男 21 计算机 2 S2 张小红 男¥21 计算机 3 S3 李和明 女 22 计算机、S4 张三 男 21 计算机 4 5 S5 刘宏 男 23 计算机 6 S6 王红应 女 20 计算机 7 S7 吴非 男 19 数学 8 S8 丁玉 男 21 数学 9 S9 赵名 女 21 数学 10 S12 张共可 男;22 物理 表 5 课程表数据=90)AND(选课.课程号)=C1);(3)查询每一门课的间接先行课(即先行课的先行课)。$sel
3、ect a.课程号,b.先行课from curr a,curr b where a.先行课=b.课程号;(4)求学生表与选课表的左外连接。select*from 学生 left join 选课 on 学生.学号=选课.学号;(5)求选课表与课程表的右外连接。5、嵌套查询 (1)求选修了高等数学的学生学号和姓名。select 学号,姓名from stu where 学号 in(select 学号 from 选课 where 课程号=(select 课程号 from curr where 课程名=高等数学);错:以下属于连接查询 SELECT 课程.课程名,学生.学号,学生.姓名 FROM 课程
4、INNER JOIN(学生 INNER JOIN 选课 ON 学生.学号=选课.学号)ON 课程.课程号=选课.课程号 WHERE(课程.课程名)=高等数学);(2)求 C1 课程的成绩高于张三的学生学号和成绩。SELECT 学号,成绩 FROM 选课 WHERE 课程号=C1 AND 成绩 (SELECT 成绩 FROM 选课 WHERE 学号=(SELECT 学号 FROM 学生 WHERE 姓名=张三)AND 课程号=C1);$(3)求其他系中比计算机系学生年龄都小的学生。select*from stu where 年龄=2);6、组合查询(1)求学生的总人数。SELECT Count(
5、学生.学号)AS 学号之计数 FROM 学生;(2)求选修了课程的学生人数。select count(学号)as 人数 FROM(Select distinct 学号 FROM 选课);(3)求计算机系学生的平均年龄定价,用 GROUP BY 表示。SELECT AVG(年龄)AS 平均年龄 FROM 学生 WHERE 所在系=计算机;(4)求各课程号和选修该课程的人数。SELECT 课程号,COUNT(学号)AS 人数 FROM 选课 GROUP BY 课程号;(5)求选修课超过 3 门课的学生学号。select 学号from select_curr group by 学号 having count(课程号)3;二、关于程序验收 1、通过可视化工具,验收已创建的数据库、数据表、视图关系表和数据库关系表。2、通过已保存的 SQL 程序代码,验收查询结果。3、上机操作工作量:除了操作 1 的数据定义和样本数据输入必做外,其余操作2 至操作 6,考试时每种操作出 1-2 道小题,共约 8-10 题。
限制150内