达内Java1605班第二次月考

发布时间:2016-07-31 15:35:34

1.

(单选)下面是SqlPlus命令的是:()。

o  A.

DESC

o  B.

ALTER

o  C.

SELECT

o  D.

DELETE

正确答案:A

2.

(单选)下列会自动创建索引的约束的是:()。

o  A.

UNIQUE

o  B.

NOT NULL

o  C.

FOREIGN KEY

o  D.

CHECK

正确答案:A

3.

(单选)下面不属于接口的是:()。

o  A.

java.sql.Connection

o  B.

java.sql.Driver

o  C.

java.sql.DriverManager

o  D.

java.sql.ResultSet

正确答案:C

4.

(单选)在Oracle中,控制年龄必须在18到50之间(包含18和50),可使用的代码是()。

o  A.

age>18 and age<50

o  B.

age>=18 and age<=50

o  C.

age>=18 && age<=50

o  D.

age>18 && age<50

正确答案:B

5.

(单选)下列Oracle语句中,属于DDL语句的是()

o  A.

DROP

o  B.

INSERT

o  C.

DELETE

o  D.

SELECT

正确答案:A

6.

(单选)包含事务控制方法setAutoCommit, commit, rollback的是:() 。

o  A.

Connection

o  B.

Statement

o  C.

ResultSet

o  D.

DriverManager

正确答案:A

7.

(单选)在oracle中,判断一条记录的某个列是否为NULL,应该使用:( )。

o  A.

!=

o  B.

<>

o  C.

IS

o  D.

=

正确答案:C

8.

(单选)查询cost表中资费名称,月固定费用,月包在线时长,单位费用,下列sql语句正确的是:

o  A.

select name/base_duration/base_cost/unit_cost from cost

o  B.

select name,base_cost,unit_cost from cost

o  C.

select name and base_duration and base_cost and unit_cost from cost

o  D.

select name,base_duration,base_cost,unit_cost from cost

正确答案:D

9.

(单选)下面关于结果集,说法错误的是:()。

o  A.

调用Connection对象的preparedStatement(String sql)方法所创建的 PreparedStatement对象执行查询所得到的结果集不可以调用previous()方法。

o  B.

Statement在执行完查询后,会把查询得到的所有数据通过网络一次加载到内存中。

o  C.

ResultSet的getDate方法返回的类型是java.sql.Date而不是java.util.Date。

o  D.

ResultSet的初始状态游标位于第一行之上,必须先调用其next方法,才可以获取到数据。

正确答案:B

10.

(单选)在Oracle中,不能通过DROP关键字进行删除的是()。

o  A.

o  B.

视图

o  C.

表中记录

o  D.

序列

正确答案:C

11.

(单选)在Oracle中,若想查询家庭地址在’北京’,’上海’,’广州’的用户信息,下列Sql语句正确的是()。

o  A.

SELECT * FROM student WHERE address=’北京’,’上海’,’广州’

o  B.

SELECT * FROM student WHERE address LIKE(’北京’,’上海’,’广州’)

o  C.

SELECT * FROM student WHERE address IN(’北京’,’上海’,’广州’)

o  D.

SELECT * FROM student WHERE address=‘北京’ AND address=’上海’ AND address=‘广州’

正确答案:C

12.

(单选)在Oracle中,给Student表添加Address列,如下代码正确的是()。

o  A.

ALTER TABLE student ADD COLUMN(address VARCHAR2(20))

o  B.

UPDATE TABLE student ADD COLUMN(address VARCHAR2(20))

o  C.

UPDATE TABLE student ADD(address VARCHAR2(20))

o  D.

ALTER TABLE student ADD(address VARCHAR2(20))

正确答案:D

13.

(单选)下列Oracle语句中,可以实现更新记录的是()。

o  A.

UPDATE 数据表 SET 字段名称=值,… [WHERE 条件] [GROUP BY 字段名称]

o  B.

UPDATE 数据表,数据表,… SET 字段名称=值,… WHERE 条件

o  C.

UPDATE 数据表 SET 字段名称=值,… [WHERE 条件]

o  D.

UPDATE 数据表 Set 字段名称=值,… [WHERE 条件] [ORDER BY 字段名称]

正确答案:C

14.

(单选)查询tarena23和tarena20上的远程登录业务使用了哪些相同的资费标准,下列sql语句正确的是:

o  A.

select cost_id from service where unix_host = '192.168.0.20' intersect select cost_id from service where unix_host = '192.168.0.23';

o  B.

select cost_id from service where unix_host = '192.168.0.20' union select cost_id from service where unix_host = '192.168.0.23';

o  C.

select cost_id from service where unix_host = '192.168.0.20' union all select cost_id from service where unix_host = '192.168.0.23';

o  D.

select cost_id from service where unix_host = '192.168.0.20' minus select cost_id from service where unix_host = '192.168.0.23';

正确答案:A

15.

(单选)在service表中,查询os账号名为:huangr 的unix服务器ip地址,os帐号名,下列sql语句正确的是:

o  A.

select unix_host,os_username from service where os_username = 'huangr';

o  B.

select unix_host,os_username from service where os_username = 'HUANGR';

o  C.

select unix_host,os_username from service where os_username = "huangr";

o  D.

select unix_host,os_username from service where os_username = "HUANGR";

正确答案:A

16.

(单选)ResultSet提供了获取数据库中某个字段值的方法,如果某个字段为NUMBER类型,可以获取 该字段值的方法是:( )。

o  A.

getNumber()

o  B.

getDouble()

o  C.

setNumber()

o  D.

setDouble()

正确答案:B

17.

(单选)在XHTML中,电子邮件链接的正确写法是:()。

o  A.

...

o  B.

...

o  C.

...

o  D.

...

正确答案:B

18.

(单选)操作cost表,若一个月使用了200小时,计算每种资费标准对应的最终费用是多少(考虑单位费用 和基础费用为null的情况,最终费用=固定费用+超时部分×单位费用), 下列sql语句正确的是:

o  A.

select id, nvl(base_cost,0) + (200 - nvl(base_duration,0)) * nvl(unit_cost,0) fee from cost;

o  B.

select id,nvl(base_cost,0) fee from cost;

o  C.

select id,200*nvl(unit_cost,0) fee from cost;

o  D.

select id, base_cost + (200 - base_duration)*unit_cost fee from cost;

正确答案:A

19.

(单选)显示上个月的今天,这个月的今天,下个月的今天,精度到时、分、秒,下列sql语句正确的是:

o  A.

alter session set nls_date_format = 'yyyy mm dd hh24:mi:ss'; select add_months(sysdate,-1),sysdate,add_months(sysdate,1) from dual;

o  B.

alter user set nls_date_format = 'yyyy mm dd hh24:mi:ss'; select add_months(sysdate,-1),sysdate,add_months(sysdate,1) from dual;

o  C.

alter session set nls_date_format = 'yyyy mm dd hh24:mi:ss'; select last_month(),this_month(),next_month() from dual;

o  D.

alter user set nls_date_format = 'yyyy mm dd hh24:mi:ss'; select last_month(),this_month(),next_month() from dual;

正确答案:A

20.

(单选)以下选项中可以用来在books表的isbn列上创建一个主键约束pk_books的是()。

o  A.

CREATE PRIMARY KEY ON books(isbn);

o  B.

CREATE CONSTRAINT pk_books PRIMARY KEY ON books(isbn);

o  C.

ALTER TABLE books ADD CONSTRAINT pk_books PRIMARY KEY (isbn);

o  D.

ALTER TABLE books ADD PRIMARY KEY (isbn);

正确答案:C

21.

(单选)下列选项中,是在新窗口中打开网页文档的是()。

o  A.

_self

o  B.

_blank

o  C.

_top

o  D.

_parent

正确答案:B

22.

(单选)JDBC的Connection接口不包含的方法是()。

o  A.

createStatement()

o  B.

prepareStatement(String sql)

o  C.

createPrepareStatement(String sql)

o  D.

commit()

正确答案:C

23.

(单选)在Oracle中,当数据量较大时,删除表中所有数据,效率较高的是()。

o  A.

DELETE FROM Student

o  B.

DELETE FROM Student WHERE id>0

o  C.

TRUNCATE table Student

o  D.

TRUNCATE table Student WHERE id>0

正确答案:C

24.

(单选)下面关于序列的描述不正确的是:()

o  A.

序列和表一样,都是Oracle数据库中的对象

o  B.

序列产生的值,可以作为表的主键值

o  C.

在序列的使用中,最好的方式是多个表可以共用一个序列,来减少Oracle数据库序列的数量

o  D.

MySql数据不支持序列

正确答案:C

25.

(单选)在Oracle中,有表Person,如下: ID Name Tel 001 Amber 1234 002 Amy 2345 003 Emily 4567 004 Eric 5678 005 Roy 6789 SELECT Tel FROM Person WHERE Name = ‘A%’; 执行以上查询,结果是:

o  A.

1234

o  B.

2345

o  C.

4567

o  D.

运行后结果是“未选定行”

正确答案:D

26.

(单选)下面关于事务(Transaction)的说法错误的是:()。

o  A.

事务具备ACID四个基本特性,即A(Atomicity)—原子性、C(Consistency)—一致 性、I(Isolation)—隔离性、D(Durability)—持久性。

o  B.

事务的提交(Commit)指将事务中所有对数据库的更新写到磁盘上的物理数据库中去,事 务正常结束。

o  C.

事务的回滚(Rollback)指在事务运行的过程中发生了某种故障,事务不能继续进行,将事 务中对数据库的所有以完成的操作全部撤消,回滚到事务开始的状态。

o  D.

JDBC通过Connection对象控制事务,默认方式下,在执行完更改语句后需要必须要调用 Connection的commit方法,对数据的更改才能生效。

正确答案:D

27.

(单选)在JDBC中使用事务,想要回滚事务的方法是 ( )。

o  A.

Connection的commit()

o  B.

Connection的setAutoCommit()

o  C.

Connection的rollback()

o  D.

Connection的close()

正确答案:C

28.

(单选)下面约束中只能定义在列级的是:()。

o  A.

UNIQUE

o  B.

NOT NULL

o  C.

FOREIGN KEY

o  D.

PRIMARY KEY

正确答案:B

29.

(单选题)下列SQL语句执行后的结果是:()。 SQL> CREATE TABLE t_info( id NUMBER(4) ) ; SQL> INSERT INTO t_info VALUES(2) ; SQL> SAVEPOINT A ; SQL> INSERT INTO t_info VALUES(3) ; SQL> INSERT INTO t_info VALUES(4) ; SQL> SAVEPOINT B; SQL> INSERT INTO t_info VALUES(5) ; SQL> ROLLBACK TO B ; SQL> SELECT * FROM t_info;

o  A.

在t_info表中可以看到id是2的数据 ,看不到id是 3,4,5的数据

o  B.

在t_info表中可以看到id是2,3,4的数据 ,看不到id是 5的数据

o  C.

在t_info表中可以看到id是2,3,4,5的数据

o  D.

在t_info表中可以看到id是2,5的数据, 看不到id是 3,4的数据

正确答案:B

oracle中,使用"rollback"关键字可以将表的当前状态回滚至上一次事务结束后的状态,也可以使用"rollback 还原点"的方式回滚到同一事务内的指定还原点处。在本题中,从始至终都没有通过commit进行提交事务,所以从始至终所有操作都处于同一事务过程中,且在插入id为2的数据后进行了第一次设定还原点A操作,在插入了id为3、4两条数据后又进行了第二次设定还原点B操作,然后又插入了id为5的数据,然后通过rollback to B;操作可以将该表的状态还原至设定还原点B之前的张泰,也就是插入了id为2、3、4数据时的状态。所以B选项正确。

30.

(单选)查询客户姓名以及他的推荐人,没有推荐人的客户信息不显示,下列sql语句正确的是:

o  A.

select a1.real_name customer, a2.real_name recommender from account a1 join account a2 on a1.id = a2.id;

o  B.

select a1.real_name customer, a2.real_name recommender from account a1 join account a2 on a1.recommender_id = a2.recommender_id;

o  C.

select a1.real_name customer, a2.real_name recommender from account a1 join account a2 on a1.recommender_id = a2.id;

o  D.

select a1.real_name customer, a2.real_name recommender from account a1, a2 on a1.recommender_id = a2.id;

正确答案:C

31.

(单选)如果查询表a(有3行数据)和表b(有4行数据),使用SELECT * FROM a,b,返回的查询结果的行数是:()。

o  A.

7

o  B.

1

o  C.

0

o  D.

12

正确答案:D

32.

(单选)以下选项中可以用来从表 state中删除列 update_dt 的是( )。

o  A.

ALTER TABLE state DROP COLUMN update_dt;

o  B.

ALTER TABLE state DELETE COLUMN update_dt;

o  C.

DROP COLUMN update_dt FROM state;

o  D.

REMOVE COLUMN update_dt FROM state;

正确答案:A

33.

(单选)现有如下建表SQL语句: CREATE TABLE departments ( department_id NUMBER(4) PRIMARY KEY, department_name VARCHAR2(20), city VARCHAR2(20), province VARCHAR2(20) ) 下面插入语句正确的是:( )。

o  A.

INSERT INTO departments VALUES(300,’abc’);

o  B.

INSERT INTO departments(department_name,department_id) VALUES(300,’design’);

o  C.

INSERT INTO departments(department_name,city) VALUES(‘design’,’bj’);

o  D.

INSERT INTO departments VALUES(300,’abc’,null,null);

正确答案:D

34.

(单选)下面的描述错误的是:( )。

o  A.

Statement的executeQuery()方法会返回一个结果集

o  B.

Statement的executeUpdate()方法会返回是否更新成功的boolean值

o  C.

使用ResultSet中的getString()可以获得一个对应于数据库中char类型的值

o  D.

ResultSet中的next()方法会使结果集中的下一行成为当前行

正确答案:B

35.

(单选)对于Oracle数据库采用分页查询的方式查询表emp的no和name从第100(包括)条到110(不包括)条记录的SQL语句 是:()。

o  A.

select no,name from emp where rownum< 110 and rownum>=100

o  B.

select no, name from (select no,name rownum num from emp where rownum>= 100) where num<110

o  C.

select no, name from (select no,name rownum num from emp where rownum< 110) where num>=100

o  D.

select no,name from emp limit 99, 10

正确答案:C

36.

(单选)DELETE和 TRUNCATE 都可以用来删除表内容,以下描述正确的是:()。

o  A.

TRUNCATE 不需要 RollbackSegment

o  B.

DELETE 不需要RollbackSegment

o  C.

TRUNCATE在 提交COMMIT之前仍可回滚

o  D.

TRUNCATE还可以删除表结构

正确答案:A

37.

(单选)在Oracle数据库中,关于主键约束与唯一约束说法错误的是()。

o  A.

主键列的数据类型不限,但此列必须是唯一并且非空

o  B.

一张数据表只能有一个唯一约束

o  C.

唯一性约束所在的列允许空值

o  D.

数据库支持两个列做联合主键

正确答案:B

38.

(单选)在Oracle中,现有Student表,其中包括学号stuId,姓名stuName,成绩stuGrade, 现要查询成绩为80分的学生姓名,并且结果按照学号降序排列,下面查询语句正确的是()。

o  A.

SELECT stuName FROM student WHERE stuGrade=80 ORDER BY stuId

o  B.

SELECT stuName FROM student WHERE stuGrade=80 ORDER BY stuId DESC

o  C.

SELECT stuName FROM student WHERE stuGrade like 80 GROUP BY stuId

o  D.

SELECT stuName FROM student WHERE stuGrade=80 GROUP BY stuId DESC

正确答案:B

39.

(单选)下面不属于表单属性的有()。

o  A.

action

o  B.

method

o  C.

enctype

o  D.

size

正确答案:D

40.

(单选)点击delete后弹出确认框,点击取消,页面停留在当前页面。以下超链接写法正确的是:( )

o  A.

delete

o  B.

delete

o  C.

delete

o  D.

delete

正确答案:B

41.

(单选)表dept有两个字段id和name,现在使用序列seq_dept给id赋值,下列写法正确的是:()。

o  A.

String sql = "INSERT INTO dept (id,name)VALUES(seq_dept.NEXTVAL,?)"; PrepareStatement stmt = con.prepareStatement(sql); stmt.setString(1,”design”);

o  B.

String sql = "INSERT INTO dept (id,name)VALUES(?,?)"; PrepareStatement stmt = con.prepareStatement(sql); stmt.setString(1, seq_dept.NEXTVAL); stmt.setString(2,”design”);

o  C.

String sql = "INSERT INTO dept (name)VALUES(?)"; PrepareStatement stmt = con.prepareStatement(sql); stmt.setString(1,”design”);

o  D.

String sql = "INSERT INTO dept (id,name)VALUES(seq_dept.NEXTVAL,?)"; PrepareStatement stmt = con.prepareStatement(sql); stmt.setString(2,”design”);

正确答案:A

42.

(单选)可以在Oracle中获取当前时间的Sql语句是()

o  A.

SELECT SYSDATE

o  B.

SELECT SYSDATE FROM DUAL

o  C.

SELECT DATE

o  D.

SELECT DATE FROM DUAL

正确答案:B

43.

(单选题)表student有两个字段stu_no和stu_name,现在使用序列seq_student给stu_no赋值,下列写法正确的是()。

o  A.

String sql = "insert into student(stu_no,stu_name) values(seq_student.nextval,?)"; PrepareStatement stmt = con.prepareStatement(sql); stmt.setString(1,"习近平");

o  B.

String sql = "insert into student (stu_no,stu_name) values(?,?)"; PrepareStatement stmt = con.prepareStatement(sql); stmt.setString(1, "seq_ student.nextval"); stmt.setString(2,"习近平");

o  C.

String sql = "insert into student (stu_no,stu_name) values(?)"; PrepareStatement stmt = con.prepareStatement(sql); stmt.setString(1,"习近平");

o  D.

String sql = "insert into student(stu_no,stu_name) values(seq_student.nextval,?)"; PrepareStatement stmt = con.prepareStatement(sql); stmt.setString(2,"习近平");

正确答案:A

序列是oracle中的对象,可以在oracle中的sql语句中调用使用, 在java代码中无效。 PreparedStatement是事先将sql语句进行预编译处理, 将来通过该对象setXxx(index,object)方法进行注入参数值。 B选项的写法,以字符串的形式注入值,那么将来也是把这个字符串里面的字符序列作为最终值去使用,而不会进行sequence对象调用执行。 所以正确写法必须是A的写法。

44.

(单选)有一个表leanr,表里有三个字段分别是学号(student_id),课程(kc),成绩(grade)。 查询表中存在课程重复2次以上的记录,显示课程和重复的 次数,并且按照重复次数的降序排列,下列SQL语句 正确的是:()。

o  A.

SELECT kc,COUNT(kc) FROM leanr ORDER BY COUNT(kc) DESC GROUP BY kc WHERE COUNT(kc)>=2 ;

o  B.

SELECT kc,COUNT(kc) FROM leanr ORDER BY COUNT(kc) DESC GROUP BY kc HAVING COUNT(kc)>=2 ;

o  C.

SELECT kc,COUNT(kc) FROM leanr GROUP BY kc WHERE COUNT(kc)>=2 ORDER BY COUNT(kc) DESC;

o  D.

SELECT kc,COUNT(kc) FROM leanr GROUP BY kc HAVING COUNT(kc)>=2 ORDER BY COUNT(kc) DESC;

正确答案:D

45.

(单选)一个VIEW被以下语句创建,请问在该VIEW上可进行操作是:()。 CREATE VIEW usa_states AS SELECT *FROM state WHERE cnt_code =1 WITH READ ONLY;

o  A.

SELECT

o  B.

SELECT , UPDATE

o  C.

SELECT , DELETE

o  D.

SELECT , INSERT

正确答案:A

46.

(单选)现有订单表(orders),包含字段:cid(顾客编号),pid(产品编号)。若查询既订购了产品P01, 又订购了产品P02的顾客编号,下列Sql语句正确的是()

o  A.

SELECT DISTINCT(cid) FROM orders o1 WHERE o1.pid IN(‘p01’,’p02’)

o  B.

SELECT DISTINCT(cid) FROM ORDERS o1,orders o2 WHERE o1.pid=’p01’ AND o2.pid=’p02’ AND o1.cid=o2.cid

o  C.

SELECT DISTINCT(cid) FROM orders WHERE pid=’p01’ AND cid IN(select cid FROM orders WHERE pid=’p02’)

o  D.

SELECT DISTINCT(cid) FROM orders o1,orders o2 WHERE o1.pid=’p01’ AND o2.pid=’p02’

正确答案:C

47.

(多选)下列语句在建表的同时在c2,c3列上创建了唯一约束,其中正确的是:

o  A.

create table test (c1 number constraint test_c1_pk primary key, c2 number constraint test_c2_uk foreign key, c3 number constraint test_c3_uk foreign key);

o  B.

create table test (c1 number constraint test_c1_pk primary key, c2 number , c3 number , constraint test_c3_uk foreign key(c2,c3));

o  C.

create table test (c1 number constraint test_c1_pk primary key, c2 number , c3 number , constraint test_c3_uk unique(c2,c3));

o  D.

create table test (c1 number constraint test_c1_pk primary key, c2 number constraint test_c2_uk unique, c3 number constraint test_c3_uk unique);

正确答案:CD

48.

(多选)请看下列建表语句: create table test( c1 number(3) constraint test_c1_pk primary key, c2 number(2) , c3 number(2) , constraint test_c2_ck check (( c2 + c3 ) > 100) ); 下列选项中能向test表中成功实施插入数据的插入语句是:

o  A.

insert into test values (1,40,60);

o  B.

insert into test values (2,41,61);

o  C.

insert into test values (3,101,1);

o  D.

insert into test values (4,50,51);

正确答案:BD

49.

(多选)操作account表和service表,查询申请远程登录业务的客户的数据,下列sql语句正确的是:

o  A.

select real_name from account where in (select account_id from service);

o  B.

select real_name from account o where id exists (select 1 from service i where o.id = i.account_id);

o  C.

select real_name from account where id in (select account_id from service);

o  D.

select real_name from account o where exists (select 1 from service i where o.id = i.account_id);

正确答案:CD

50.

(多选题)操作account表和age_segment表,查询客户huangrong的年龄段,下列sql语句正确的是:

o  A.

select real_name,birthdate,s.name from account a join age_segment s on round((sysdate - birthdate)/365) between lowage and hiage and real_name = 'huangrong';

o  B.

select real_name,birthdate,s.name from account a left join age_segment s on round((sysdate - birthdate)/365) between lowage and hiage and real_name = 'huangrong';

o  C.

select real_name,birthdate,s.name from account a left join age_segment s on round((sysdate - birthdate)/365) between lowage and hiage where real_name = 'huangrong';

o  D.

select real_name,birthdate,s.name from account a left join age_segment s on round((sysdate - birthdate)/365) between lowage and hiage;

正确答案:AC

on和where的区别在于 on条件是在生成临时表时使用的条件 它不管on中的条件是否为真 都会返回左边表中的记录 where条件是在临时表生成之后 再对临时表进行过滤 这时已经没有left join的含义(必须返回左边表的记录)了 条件不为真的就全部过滤掉 所以B选项和C选项的写法其实换一种方式就比较明显了 B. select real_name,birthdate,s.name from account a left join age_segment s on (round((sysdate - birthdate)/365) between lowage and hiage and real_name = 'huangrong'); C. select real_name,birthdate,s.name from account a left join age_segment s on (round((sysdate - birthdate)/365) between lowage and hiage) where real_name = 'huangrong'; B选项on的条件是 round((sysdate - birthdate)/365) between lowage and hiage and real_name = 'huangrong' C选项on的条件是 round((sysdate - birthdate)/365) between lowage and hiage

关于我们 | 服务支持 | 咨询与反馈 | 最新动态 | 代理合作 | 名师堂

达内时代科技集团有限公司 2013-2014

中关村中心企业合作:62117598 UID中心企业合作:82168421、82168831

达内Java1605班第二次月考

相关推荐