一道面试题中涉及到的SQL的高级使用
题目是这样的: 3 、现在需要做一个全省的学生成绩资料库,系统功能和信息如下: 需要保存的信息有学生ID,学生姓名,学生成绩,所在学校,所在城市,时间 A 、请你按照以上需求设计表结构,包括需要建哪些索引(只可以建一张表) B 、请各用一句SQL写出实现以下3个排名的查询语句(请用单语句,不要用嵌套语句) (1) .全省学生成绩排名前100的名单 (2) .每个学校的学生平均成绩,请从大到小排列 (3) .全省总共有多少个学校 A、表的结构: studentInfo(ID,Name,Grade,School,City,Date) 至于建立索引,我脑子中还真没有存货。因为平常自己做着玩的时候,只关注了功能的实现,用到数据库的时候,也只是建好表,导入几条数据,并完成业务逻辑和数据库交互。并不关心数据库的使用效率,那些字段该建立索引。我脑子中知道查询比较频繁的字段应该建立索引。但是,还真没有实践过。在学校学的知识,真的是纸上谈兵,到了实际运用还是真有点蒙蔽。 B、(1)、select top 100 *from studentInfo order by Grade DESC 这个题目的限制,纯粹就是为了考察对SQL语言的使用掌握情况。要是放在平常,我就会,用Select语句查出结果集,然后放入Map中,排序。当然,如果数据太多了,我平常的方法就有点傻逼了