这章节,我们对之前所学的MySQL进行一些练习,使用的模板是网络上使用的hellodb.sql
不过需要注意的是,这个模板过于老旧,现在我们使用的MySQL/MariaDB
的默认存储引擎都是InnoDB
存储引擎,而模板中使用的则是MyISAM
,所以我们需要手动进行修改:
|
|
实验环境:
|
|
这次我们使用的是MariaDB 5.5.44
将hellodb.sql导入至数据库中:
|
|
查看各需要操作的表的表结构
- students表
|
|
- classes表
|
|
- teachers表
|
|
- scores表
|
|
- courese表
|
|
初阶练习题
- 在students表中,查询年龄大于25岁,且为男性的同学的名字和年龄
|
|
- 以ClassID为分组依据,显示每组的平均年龄
|
|
- 显示第2题中平均年龄大于30的分组及平均年龄;
|
|
- 显示以L开头的名字的同学的信息;
|
|
- 显示TeacherID非空的同学的相关信息;
|
|
- 以年龄排序后,显示年龄最大的前10位同学的信息;
|
|
- 查询年龄大于等于20岁,小于等于25岁的同学的信息;用三种方法;
|
|
中阶练习题
- 以ClassID分组,显示每班的同学的人数
|
|
- 以Gender分组,显示其年龄之和
|
|
- 以ClassID分组,显示其平均年龄大于25的班级
|
|
- 以Gender分组,显示各组中年龄大于25的学员的年龄之和
|
|
- 显示前5位同学的姓名、课程及成绩
|
|
- 显示其成绩高于80的同学的名称及课程
|
|
- 求前8位同学每位同学自己两门课的平均成绩,并按降序排列
|
|
- 显示每门课程课程名称及学习了这门课的同学的个数
|
|
高阶练习题
- 如何显示其年龄大于平均年龄的同学的名字?
|
|
- 如何显示其学习的课程为第1、2,4或第7门课的同学的名字?
|
|
- 如何显示其成员数最少为3个的班级的同学中年龄大于同班同学平均年龄的同学?
|
|
- 统计各班级中年龄大于全校同学平均年龄的同学
|
|
本文出自Maxie’s Notes博客,转载请务必保留此出处。