java数据库面试题集.docx
《java数据库面试题集.docx》由会员分享,可在线阅读,更多相关《java数据库面试题集.docx(17页珍藏版)》请在冰点文库上搜索。
java数据库面试题集
1、
2、
请写出SQL语句计算今天距离2005元旦的分钟数。
答案:
selectdatedif(minute,'01/01/2005',getdate())asminutes
请一句SQL写出:
如果person(personname,deptname)表中没有财务部"的张三",那么请增加该人员。
setnocounton
ifEXISTS(select*frompersonwherepersonname='张三'anddepartname='财务咅B')
begin
raiserror('(%s)的记录已经!
',16,1,'财务部的张三')
return
end
begintransaction
insertperson(personname,departname)valuesC张三','财务部')
if@@ROWCOUNT<>1gotoErrorcommittransactionreturn--提前返回
--错误处理
Error:
rollback
raiserror('添加失败',16,1)
答案二:
ifnotEXISTS(select*frompersonwherepersonname='张三'anddeptname='财务部')
insertintoperson(personname,deptname)values('张三','财务咅B')
请取出表test(ididentity(int,1,1))的第三条记录。
Selecttop1*from(selecttop3*fromtestorderbyiddesc)temp
Row
Val
1
101
1
102
2
1
有表
3、
test
请写SQL语句将表test的内容显示为下边内容
Row
Val
1
101
1
102
2
101
2
102
答案:
select
a.row,a.val
left
join
testasb
on
union
select
a.row,b.val
from
left
join
testasb
on
fromtestasa
4、计算库存结余
test
Inv
inouttype
Iquantity
001
in
300
001
out
200
002
in
50
答案:
:
selectsum(casewheninouttype='in'theniquantityelse-iquantityend)as结余金额
fromtest3
6•请将表test
Cus
inv
Money
北京
苹果
100
北京
李子
200
上海
苹果
400
转变成
Cus
苹果
李子
北京
100
200
上海
400
0
答案:
declare@sqlvarchar(8000)
set@sql='selectcus'
select@sql=@sql+',sum(caseinvwhen'''+inv+'''thenmoneyelse0end)['+inv+
']'
from(selectdistinctinvfromtest2)asaset@sql=@sql+'fromtest2groupbycus'exec(@sql)
更好的答案。
。
。
7.有表test
Personcode
Personname
001
Anny
002
Liszt
003
Devy
写一个过程
createproceduregetselperson(@svarchar(200))begin
end;
IFEXISTS(SELECTnameFROMsysobjects
WHEREname='getseIperson'ANDtype='P')
DROPPROCEDUREgetseIperson
GO
CREATEPROCEDUREgetselperson(@@Personcode1varchar(200)='001',@@Personcode2varchar(200)='002')AS
SETNOCOUNTONbeginTRANSACTIONSELECT*
FROMtest7
WHEREPersoncodeLIKE@@Personcode1
or
PersoncodeLIKE@@Personcode2
IF@@ROWCOUNT<>2
GOTOlblError
COMMITTRANSACTION
RETURN
lblError:
ROLLBACK
RAISERROR('失败!
',16,1)
传入参数'01,002返回表
Iid
personcode
Personname
1
001
Anny
2
002
liszt
&请写SQL语句更新表test中issingle
person
Friend
Issingle
anny
Liszt
Null
Liszt
Anny
Null
devy
Keven
Null
更新后的结果是:
Person
Friend
Issingle
Anny
Liszt
0
Liszt
Anny
0
Devy
Keven
1
答案:
UPDATEtestSETIssingle=1wherePerson=Devy;
UPDATEtestSETIssingle=0wherePerson<>Devy;
9.请写SQL语句将下表test
person
ttime
lotype
001
8:
00
1
001
12:
00
2
001
13:
00
1
001
17:
00
2
002
8:
00
1
002
12:
00
2
转换成表
Wpid
person
in
Out
1
001
8:
00
12:
00
2
001
13:
00
17:
00
3
002
8:
00
12:
00
selectidentity(int,1,1)aswpid‘person,[in]=max(casewheniotype=1thenttimeelsenullend),
[out]=max(casewheniotype=2thenttimeelsenullend)
into#from(select*,casewhendatepart(hh,cast('2001-01-01'+ttimeasdatetime))>12then1else
0endas[type]
fromtest)agroupbyperson,type
10.有表test
Personcode
ttime
lotype
001
8:
00
1
001
8:
05
1
001
12:
00
2
请写SQL语句将两行IOTYPE相同,时间间隔不足10分钟的第二条记录提取出来。
答案:
SELECT*FROM(SELECT*ASaFROMtest,SELECT*ASbFROMtest)WHEREa.Iotype=b.IotypeANDa.time-b.time<10
附加题(如有余力,可以做):
11.将表TEST
SEQ
1
100
1
2
120
1
3
130
1
4
60
-1
5
90
-1
转换成表
Seq
qty
Left
1
100
0
2
120
70
3
130
ID
FATHER
CHIELD
1
A
A1
2
A
A2
3
A
B
4
B
B1
5
B
B2
转成表
COLDE
CLASS
ISEND
A
1
0
B
2
0
A1
2
1
A2
2
1
B1
3
1
B2
3
1
有表TEST
12.
JAVA部分
1、请解释下什么是HTML
HTML既HypertextMarkedLanguage,即超文本标记语言,是一种用来制做超文本文档的简单标记语言。
文挡,它能独立于各种操作系统平台(如
用HTML编写的超文本文挡称为html
unix,windows,linux等);
影视等内容,因为它可以从一个文件跳转还可以与其他动态脚本语言结合创造动态的网
所谓超文本,因为它可以加入图片,声音,动画,到另一个文件,与世界各地主机的文件连接,页。
HTML只不过是组合成一个文本文件的一系列标签。
2、JAVA和JAVASCRIPT有什么关系
Java是sun公司推出的面向对象的编程语言,它是一种通过解释方式来执行的语言,语法规则和C++类似,同时它也是一种跨平台的程序设计语言。
它主要面向应用软件方面。
javaScript是一种嵌入到HTML语言中的一种脚本语言,他和java没关系。
3、JAVA的编译命令是什么
javac
4、请就JSP和ASP做个简要的对比分析
web应用实现动态交互网页制作
jsp和asp在技术方面有许多相似之处,两者都是为基于提供的技术环境支持。
jsp和asp也用许多的不同点,jsp技术基于平台和服务器独立的,输入支持来自广泛的,专门的,各种工具包,服务器的组件和数据库产品开发商所提供。
相比之下,ASP技术主要
依赖微软的技术支持,jsp可运行在绝大多数的流行平台,包括solari操作系统微软的视窗系统,windows,Linux,及其他UNIX系列平台产品,asp只能运行到windows上。
asp静态代码和动态代码混合在一起,
jsp可重用行比较好,静态代码和动态代码分离,而可维护性,可重用性不好。
Jsp的脚本语言是java,而asp的脚本语言是vbscript或jscript。
Java是成熟的,强大的,易扩充的编程语言。
5、请区分下JSP,SERVLET,JAVAAPPLET
JSP主要关注于HTML(或者XML)与Java代码的结合,以及加入其中的JSP标记。
如果
servlet。
一个支持JSP的服务器遇到一个JSP页面,它首先查看该页面是否被编译成为一个由此可见,JSP被编译成servlet,即被转变为纯Java,然后被装载入服务器执行。
当然,这一过程,根据不同的JSP引擎而略有不同。
SUN首先发展出SERVLET,其功能比较强劲,体系设计也很先进,只是,它输出HTML
语句还是采用了老的CGI方式,是一句一句输出,所以,编写和修改HTML非常不方便。
所以后来出现了jsp技术,方便了用户的web程序的开发。
Servlet也是一个特殊的java类。
“Apple(t小”应用程序),用编译器将它编译成类文件后,将它存在WWW页面中,并在HTML档上作好相应标记,用户端只要装上Java的客户软件就可以在网上直接运行“Applet”
6、简要介绍下TOMCAT和IIS的区别
Tomcat是一种servlet的解释器,主要用来作为用java,jsp,javabean,servlet开发的web程序。
IIS是微软开发的网页服务器,主要用来解析用asp,-net开发的web动态程序及静态网页。
7、如何把整形1转换成字符串,又如何把字符串001转换成整数呢?
classStr{
publicstaticvoidmain(String[]args){
inti=1;
System.out.println(String.valueOf(i));
Stringstr="001";
System.out.println(Integer.parseInt(str));
}
}
8、请取出字符串【001计算机】中的“计算机”
classStr{
publicstaticvoidmain(String[]args){
Stringstr="001计算机";
System.out.println(str.substring(3));
}
}
9、请将字符串a,b,c,d转成一维数组
publicclasstest{
publicstaticvoidmain(String[]args){
Stringstr1="a,b,c,d";
charstr[]=str.toCharArray();
for(inti=0;iSystem.out.println(str1[i]);
}
}
}
10、d=d2.getTime()-d1.getTime();
d/(1000*60*60*24);
publicstaticvoidmain(Stringargs[]){
//System.out.println(getT(DateFormat.getDateInstance().format(newDate//
()),DateFormat.getDateInstance().format(newDate(2008,8,8))));
System.out.println(getT(newDate(2007,11,25),newDate(2008,8,8)));
//System.out.println(DateFormat.getDateInstance().format(newDate()));
}
}
请写出将你所在地的邮政编码转换成请举例说明session如何存取变量我做的书城中曾用到的:
session存储变量:
我的书城中曾用到的javascript实现页面跳转:
alert(“
录”;window.location.href=7bookshop/admin/login.jsp';
16、请做一个页面框架(FRAMESET)的例子
我的书城中曾用到的:
<%@pagelanguage="java"pageEncoding="gb2312"%>
<%@pagecontentType="text/html;charset=gb2312"%>includepage="safe.jsp"/>
网店后台管理
if(top!
=self)top.location.href="index.jsp";
此网页使用了框架,但您的浏览器不支持框架。