您的当前位置:首页java面试题

java面试题

来源:小侦探旅游网
二、简答题。

1、truncate和delete有什么区别?

1)DELETE若没有where,就是删除整张表中数据 2)都是对数据操作,并不对表的结构进行操作 3)DROP :对表的结构操作

4)用法:truncate: truncate table emp;

Delete:表的数据一条条的删除,慢 delete from emp where name =”zhangsan”; Drop: drop table emp;

5)Truncate没有回滚事物

2、说出以下聚合函数的含义?(如AVG/SUM/MAX/MIN/COUNT/COUNT(*))

AVG:返回指定组中的平均数,会忽略NULL值,nvl(sal,0) SUM:返回指定组中数据的和,会忽略NULL值 Count(id) :返回指定的组条数,忽略NUll Count(*) :返回指定组中总条数,包括NULL

3、final与finally的区别?

Finalize:垃圾回收机制中的一个方法

4、String、StringBuffer与StringBuilder之间区别?

5、Java中PreparedStatement和Statement的用法区别?

1)PreparedStatement继承Statement,并且继承了所有的方法

2)代码刻度和维护性、安全性

3)PreparedStatement预防SQL注入

三、编写SQL语句。

1、创建一张客户表(cust),包含以下信息:

客户号(custno),姓名(custna),出生年月(birdt),年龄(oldyer), 性别(gender),身份证号码(idftno),联系电话(tel) 其中客户号是主键

--创建一张客户表cust CREATE TABLE cust(

custno number(10) primary key, custna varchar2(20), birdt date, oldyer number(4), gender varchar2(1), idftno varchar2(20), tel varchar2(20) );

2、向客户表添加如下信息: 客户号 1 2

insert into cust

(custno,custna,birdt,gender,tel,idftno,oldyer) values

(1,'张三',to_date('1985-12','YYYY-MM'),'M', '123456','12345678',18 )

姓名 张三 李四 出生年月 性别 1985-12 1980-1 男 男 联系电话 身份证号 123456 119 32345678 37654321 年龄 19 20 insert into cust

(custno,custna,birdt,gender,tel,idftno,oldyer) values

(2,'李四',to_date('1999-02','YYYY-MM'),'男', '119','45678321',22 )

-- 将gender字段修改

alter table cust modify (gender varchar2(3))

3、修改客户表的数据,将电话号码11开头的客户的身份证号改为“1114”

--查询下电话为11开头

select * from cust where tel like '%11%'

update cust set idftno = '114' where tel like '11%'

4、删除姓李、性别为男的客户信息

delete from cust where custna like '李%' and gender like '男'

5、查看客户表的数据,将所有年龄小于25岁的,性别为“男”的,客户的姓名和客户号示出来

select custna,custno from cust where gender like '男' and oldyer<25

6、查询客户表的数据,查询所有信息,列出前25%的记录

select c.*,rownum rn from cust c where rownum < ( select count(*)*0.25 from cust )

7、查询出所有客户的姓名,性别,按照出生年月降序排序 Select * from cust order by birdt desc 8、按照性别分组查询不同性别的平均年龄

Select gender,avg(aidyer) from cust group by gender

因篇幅问题不能全部显示,请点此查看更多更全内容