欢迎光临
感谢一路有你

案例-多表查询、子查询实例02(有答案)

以下所有操作在查询管理器中手工书写sql语句完成

1、按下列步骤创建数据库和表
1.2、在这个数据库中创建一个名为[学生表]的表,由[学号]、[姓名]、[专业]、[班级]
字段组成。[学号] 字段为主键,类型为int;[姓名] 和 [专业] 字段类型为varchar,
长度为6和20;[班级] 字段类型为char,长度为4。这些字段均不允许NULL值。

1.3、在这个数据库中创建一个名为 [成绩表] 的表,由 [学号] 、[课程编号]、 [成绩] 字段组成。
[学号] 为外键。[学号] 类型为int;
[课程编号] 类型为char,长度为2; [成绩] 类型为int
这些字段均不允许NULL值。

2、在学生表中添加以下记录:
学号 姓名 专业 班级
2001001 吴小亮 计算机及应用 0101
2001002 刘京生 计算机及应用 0101
2001003 李向名 计算机及应用 0102
2001004 高大山 计算机及应用 0102
2001005 王前 网络应用 0103
2001006 李云飞 网络应用 0103
全部添加完毕后,显示该表中的所有记录

3、在成绩表中添加以下记录:
学号 课程编号 成绩
2001001 01 73
2001001 02 88
2001002 01 95
2001002 02 64
2001003 01 75
2001003 02 90
2001004 01 99
2001004 02 50
2001005 01 66
2001005 02 80
2001006 01 93
2001006 02 75
全部添加完毕后,显示该表中的所有记录

4、在学生表中查找姓名为“王前”的记录并将这条记录中的班级更改为“0104”,
然后列出经过修改后的这一行记录

5、分别从学生表和成绩表中删除学号为2001006的记录(注意顺序,为什么?)

6、查找显示成绩表中”学号”字段的全部数据

7、查找显示成绩表中”学号”字段的全部数据,要求查询结果中不包含重复记录

8、从学生表和成绩表中查找记录,要求以两个表中的“学号”字段作为连接字段,
结果显示学号,姓名,课程编号,成绩的内容

9、从学生表和成绩表中查找记录,看看学生表中有哪些学生以及这些学生的成绩如何。
要求使用左外部连接和别名

10、在成绩表中查找课程编号为02的成绩高于80分的学生记录

11、在学生表中找出姓刘或姓李的学生

12、在成绩表中查找01号课程成绩介于60与80之间的学生记录

13、在学生表中找出姓刘、姓李、姓王的学生记录

14、在学生表中找出学号末位数字位于3-5范围内的学生记录

15、把成绩表中课程编号=’01’的所有学生记录按成绩从高到低排列显示出来

16、从学生表和成绩表中查找记录,统计0101班01号课程的总成绩

17、统计学生表中的记录总数(count(字段))

18、在成绩表中,找出02号课程成绩中的最高分

19、在成绩表中,计算每个学生各门功课的总成绩和平均成绩,并按照总成绩降序排列

家庭作业:

20、从成绩表中查找记录,列出02号课程成绩高于此课程平均成绩的记录

21、列出0102班的学生成绩

22、查询所有考试01号课程分数比所有02号课程分数高的学生学号,姓名;

23、查询所有考试01号课程分数不低于所有02号课程分数的学生学号,姓名;

24、查询和01号成绩最高的同学在一个班的同学的姓名;

25、查询01号成绩进前三名的同学的姓名,班级;

26、查询02号成绩第三到第五名的所有同学的姓名;

27、查询01号成绩不是第一名的所有同学的姓名;

28、查询01号成绩和02号成绩都能进前三名的同学姓名;

赞(0) 打赏
未经允许不得转载:王明昌博客 » 案例-多表查询、子查询实例02(有答案)
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

隐藏
变装