网站大量收购闲置独家精品文档,联系QQ:2885784924

七数据库java面试题.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
七、数据库、连接池基础知识 (一)、SQL方面基础知识 1、sqlServer中内连接、左外连接、右外连接、全外连接的区别? 内连接只保留交叉积中满足连接条件的那些行 左连接就是保留左边表的相关字段,如果右边表相关字段有不匹配的,以null填充之 右连接就是保留右边表的相关字段,如果左边表相关字段有不匹配的,以null填充之 全外连接包括内连接以及左表和右表中未包括在内连接中的行 2、简单介绍事务的功能以及事务处理方式? 事务功能是多条sql语句同时提交或同时回滚 事务处理:在数据库中,所谓事务是指一组逻辑操作单元,它使数据从一种状态变换到另一种状态。为确保数据 库中数据的一致性,应当用离散的成组的逻辑单元操作数据:当它全部完成时,数据的一致性可以保 持;而当单元中的一部分操作失败时,整个事务会被全部忽略,所有从起始点以后的操作全部退回到 开始状态。 3、三张表,学生表S,课程C,学生课程表SC,学生可以选修多门课程,一门课程可以被多个学生选修,通过SC表关联; 1) 写出建表语句;   答:建表语句如下(mysql数据库): create table s(id integer primary key, name varchar(20)); create table c(id integer primary key, name varchar(20)); create table sc( sid integer references s(id), cid integer references c(id), primary key(sid,cid) ); 2) 写出SQL语句,查询选修了所有选修课程的学生; 答: select stu.id, from s stu    where (select count(*) from sc where sid=stu.id) =    (select count(*) from c); 3) 写出SQL语句,查询选修了至少5门以上的课程的学生。 答: select stu.id, from s stu    where (select count(*) from sc where sid=stu.id)=5; 4、数据库表(Test)结构如下:   ID NAME AGE MANAGER(所属主管人ID)   106 A 30 104   109 B 19 104   104 C 20 111   107 D 35 109   112 E 25 120   119 F 45 NULL   要求:列出所有年龄比所属主管年龄大的人的ID和名字? 答: select from test employee where employee.age    (select manager.age from test manager where manager.id=employee.manager); 5、ORACLE大数据量下的分页解决方法? (1)通过top n和三层嵌套法实现分页;MSSQL、MySql通用此种方法 假设有80条记录,每页显示10条记录,id 从1到80; 现在按照id升序排列取出第三页的数据应该为:所取得记录的id 应该为 21到30。 这时该语句应该为: select * from(select TOP 10 * FROM (SELECT TOP 30 * from user_table ORDER BY id ASC) as aSysTable ORDER BY id DESC ) as bSysTable ORDER BY id ASC 原理如下: 先按照id从小到大升序取出30条记录(3*10),也就是:id 在 1-30 之间的记录(SELECT TOP 30 * from user_table ORDER BY id ASC),然后按照ID降序排列这30条记录,得到记录为id 在:从30到 1。然后在这些30条记录中取出前10条记录:取得的记录为:id 在30-21之间。这就是我们需要的数据,但这时是按照降序排列的,不符合要求。最后在重新排序得到最终我们需要的数据。id在21-30之间。公式套用:10为记录条数,30为记录条数*页码 其JSP参考代码如下: %@ page language=java import=java.util.*,java.sql.* % %@ page contentType=text/html;charset=gb2312% jsp:useBean id=cn scope=page class=myConnection.Conn / !--引用数据库操作的bean,自己完成,这里不再

文档评论(0)

gangshou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档