面试题五-- 数据库部分
2016-12-06 15:19
316 查看
3、存储过程与触发器必须讲,经常被面试到? 你发一个日志,自动通知好友,其实就是在增加日志时做一个后触发,再向通知表中写入条目。 5、说出一些数据库优化方面的经验? 用PreparedStatement 一般来说比Statement性能高 有外键约束会影响插入和删除性能 表中允许适当冗余 还有索引对查询性能的改进也是值得关注的。 7.分页语句 取出sql表中第31到40的记录(以自动增长ID为主键) mysql方案:select * from t order by id limit 30,10 oracle方案:select * from (select rownum r,* from t where r<=40) where r>30 --------------------待整理进去的内容------------------------------------- pageSize=20; pageNo = 5; 1.分页技术1(直接利用sql语句进行分页,效率最高和最推荐的) mysql:sql = "select * from articles limit " + (pageNo-1)*pageSize + "," + pageSize; oracle: sql = "select * from " + "(select rownum r,* from " + "(select * from articles order by postime desc)" + "where rownum<= " + pageNo*pageSize +") tmp " + "where r>" + (pageNo-1)*pageSize; 注释:第7行保证rownum的顺序是确定的,因为oracle的索引会造成rownum返回不同的值 简洋提示:没有order by时,rownum按顺序输出,一旦有了order by,rownum不按顺序输出了,这说明rownum是排序前的编号。如果对order by从句中的字段建立了索引,那么,rownum也是按顺序输出的,因为这时候生成原始的查询结果集时会参照索引表的顺序来构建。 8.用一条SQL语句 查询出每门课都大于80分的学生姓名 name kecheng fenshu 张三 语文 81 张三 数学 75 李四 语文 76 李四 数学 90 王五 语文 81 王五 数学 100 王五 英语 90 提示:当百思不得其解时,请理想思维,把小变成大做,把大变成小做, 答案: A: select distinct name from score where name not in (select distinct name from score where score<=80) B:select distince name t1 from score where 80< all (select score from score where name=t1); Class.forName的作用?为什么要用? 答:作用是动态加载类,使用配置文件时候不知道类名的情况使用比如依赖注入,加载jdbc驱动 有一个SQL题在面试中出现的概率极高,最近有学生出去面试仍然会遇到这样的题目,在这里跟大家分享一下。 题目:数据库中有一张如下所示的表,表名为sales。 年 季度 销售量 1991 1 11 1991 2 12 1991 3 13 1991 4 14 1992 1 21 1992 2 22 1992 3 23 1992 4 24 要求:写一个SQL语句查询出如下所示的结果。 年 一季度 二季度 三季度 四季度 1991 11 12 13 14 1992 21 22 23 24 我给出的答案是这样的: select 年, sum(case when 季度=1 then 销售量 else 0 end) as 一季度, sum(case when 季度=2 then 销售量 else 0 end) as 二季度, sum(case when 季度=3 then 销售量 else 0 end) as 三季度, sum(case when 季度=4 then 销售量 else 0 end) as 四季度 from sales group by 年;
相关文章推荐
- 一个关于if else容易迷惑的问题
- 一道sql面试题附答案
- C# 超高面试题收集整理
- 14 个折磨人的 JavaScript 面试题
- 人人网javascript面试题 可以提前实现下
- JS面试题---关于算法台阶的问题
- PHP中设置一个严格30分钟过期Session面试题的4种答案
- 经典的20道AJAX面试题(必知必会)
- 据说是雅虎的一份PHP面试题附答案
- php牛逼的面试题分享
- 一套比较完整的javascript面试题(部分答案)
- 10个经典的Java main方法面试题
- 小米公司JavaScript面试题
- JavaScript面试题大全(推荐)
- 超级全面的PHP面试题整理集合第1/2页
- 极易被忽视的javascript面试题七问七答
- 10个值得深思的PHP面试题
- 5个实用的shell脚本面试题和答案
- PHP经典面试题集锦
- 8个PHP数组面试题