一、题目要求
- 下载附件中的world.sql.zip, 参考http://www.cnblogs.com/rocedu/p/6371315.html#SECDB,导入world.sql,提交导入成功截图
- 编写程序,查询世界上超过“你学号前边七位并把最后一位家到最高位,最高位为0时置1”(比如学号20165201,超过3016520;学号20165208,超过1016520)的所有城市列表,提交运行结果截图
- 编写程序,查询世界上的所有中东国家的总人口
- 编写程序,查询世界上的平均寿命最长和最短的国家
二、需求分析
任务二
- 比较说明需要用到where 子语句,保证查询的字段值在某个区间内。
- 5017531(我的学号前七位并把最后一位加到最高位),比5017531大的输出。
任务三
- 中东国家说明需要用到where子语句实现字段值和固定值比较。
- 总人口说明需要进行累加。
任务四
- 最长、最短显而易见的需要对查询内容进行排序(默认升序排列)。
- 最长说明在结果集的最后一行
- 最短说明在结果集的第一行
三、关键代码以及运行结果截图
任务一
任务二
rs = sql.executeQuery("SELECT * FROM city where Population>5017531");
运行结果截图:
任务三
rs = sql.executeQuery("SELECT * FROM country where Region='Middle East'");
sum=sum+rs.getInt(7);
运行结果截图:
任务四
rs = sql.executeQuery("SELECT * FROM country where LifeExpectancy!=0 order by LifeExpectancy");
rs.first();
rs.last();
- 说明:有些国家的平均寿命值为null,如果对全表进行的话,输出的最短平均寿命为0。所以应该排除这些平均寿命值为null的,然后再进行排序,这样排好序后的第一行就是平均寿命最短的,最后一行就是平均寿命最长的。
运行结果截图:
四、代码实现过程中遇到的问题及其解决方法
- 问题:出现编译通过,运行的返回值也是正常,但是没有输出结果。
- 解决方法:发现没有配置驱动。
五、码云链接
六、心得体会
- 其实这道题目并不难,只要看过十一章的代码,做这道题应该来说是很简单的。
- 这正应证了老师说过的话,就看你想不想学的,小学生都会的东西,你要想学还学不会吗?主要就是一个态度问题。