达内JSD1602第二次月考
1.
(单选)下列说法正确的是()
A.
InputStream是字符流
B.
Reader是字节流
C.
Writer是字节流
D.
BufferedReader可以从文件中读取一行
正确答案:D
2.
(单选)下列Oracle语句中,属于DDL语句的是()
A.
DROP
B.
INSERT
C.
DELETE
D.
SELECT
正确答案:A
3.
(单选)在oracle中,判断一条记录的某个列是否为NULL,应该使用:( )。
A.
B.
C.
IS
D.
=
正确答案:C
4.
(单选)查询cost表中资费名称,月固定费用,月包在线时长,单位费用,下列sql语句正确的是:
A.
select name/base_duration/base_cost/unit_cost from cost
B.
select name,base_cost,unit_cost from cost
C.
select name and base_duration and base_cost and unit_cost from cost
D.
select name,base_duration,base_cost,unit_cost from cost
正确答案:D
5.
(单选)在Oracle中,删除表Student中的所有数据,可以使用的Sql是()。
A.
DROP TABLE Student
B.
DELETE FROM Student
C.
DELETE * FROM Student
D.
DROP * FROM Student
正确答案:B
6.
(单选)Oracle数据库中,在SQL语句中连接字符串的方法是:()。
A.
CAT
B.
CONCAT
C.
JOIN
D.
UNION
正确答案:B
7.
(单选)下列方法中用于定义线程的执行体的是:
A.
start()
B.
init()
C.
run()
D.
synchronized()
正确答案:C
8.
(单选)在Oracle中,控制年龄必须在18到50之间(包含18和50),可使用的代码是()。
A.
age>18 and age
B.
age>=18 and age
C.
age>=18 && age
D.
age>18 && age
正确答案:B
9.
(单选)synchronized关键字做同步,可以使用在:()。
A.
方法上
B.
接口上
C.
变量上
D.
类上
正确答案:A
10.
(单选)下列Oracle语句中,属于DCL的有()
A.
GRANT
B.
DESC
C.
CONNECT
D.
INSERT
正确答案:A
11.
(单选)下列代码的输出结果是()。 public static void main(String[] args) { Runnable r = new Runnable() { public void run() { System.out.print("Cat"); } }; Thread t = new Thread(r) { public void run() { System.out.print("Dog"); } }; t.start(); }
A.
Cat
B.
Dog
C.
没有任何输出
D.
抛出运行时异常
正确答案:B
12.
(单选)下列关于线程的名字说法正确的是:()。
A.
不能人为的为线程设置名字
B.
Java规定所有的线程名字都是Thread=1形式的
C.
可以使用Thread类的setName()方法为线程设置名字
D.
默认情况下,线程无名字
正确答案:C
13.
(单选)下列会自动创建索引的约束的是:()。
A.
UNIQUE
B.
NOT NULL
C.
FOREIGN KEY
D.
CHECK
正确答案:A
14.
(单选)下列Oracle语句中,可以实现更新记录的是()。
A.
UPDATE 数据表 SET 字段名称=值,… *WHERE 条件] [GROUP BY 字段名称]
B.
UPDATE 数据表,数据表,… SET 字段名称=值,… WHERE 条件
C.
UPDATE 数据表 SET 字段名称=值,… *WHERE 条件]
D.
UPDATE 数据表 Set 字段名称=值,… *WHERE 条件] [ORDER BY 字段名称]
正确答案:C
15.
(单选)下面关于序列的描述不正确的是:()
A.
序列和表一样,都是Oracle数据库中的对象
B.
序列产生的值,可以作为表的主键值
C.
在序列的使用中,最好的方式是多个表可以共用一个序列,来减少Oracle数据库序列的数量
D.
MySql数据不支持序列
正确答案:C
16.
(单选)在Oracle数据库中,关于主键约束与唯一约束说法错误的是()。
A.
主键列的数据类型不限,但此列必须是唯一并且非空
B.
一张数据表只能有一个唯一约束
C.
唯一性约束所在的列允许空值
D.
数据库支持两个列做联合主键
正确答案:B
17.
(单选)在Oracle中,当数据量较大时,删除表中所有数据,效率较高的是()。
A.
DELETE FROM Student
B.
DELETE FROM Student WHERE id>0
C.
TRUNCATE table Student
TRUNCATE table Student WHERE id>0
正确答案:C
18.
(单选)在Oracle中,给Student表添加Address列,如下代码正确的是()。
A.
ALTER TABLE student ADD COLUMN(address VARCHAR2(20))
B.
UPDATE TABLE student ADD COLUMN(address VARCHAR2(20))
C.
UPDATE TABLE student ADD(address VARCHAR2(20))
D.
ALTER TABLE student ADD(address VARCHAR2(20))
正确答案:D
19.
(单选)以下选项中可以用来从表 state中删除列 update_dt 的是( )。
A.
ALTER TABLE state DROP COLUMN update_dt;
B.
ALTER TABLE state DELETE COLUMN update_dt;
C.
DROP COLUMN update_dt FROM state;
D.
REMOVE COLUMN update_dt FROM state;
正确答案:A
20.
(单选)在Oracle中,若想查询家庭地址在’北京’,’上海’,’广州’的用户信息,下列Sql语句正确
的是()。
A.
SELECT * FROM student WHERE address=’北京’,’上海’,’广州’
B.
SELECT * FROM student WHERE address LIKE(’北京’,’上海’,’广州’)
C.
SELECT * FROM student WHERE address IN(’北京’,’上海’,’广州’)
D.
SELECT * FROM student WHERE address=‘北京’ AND address=’上海’ AND address=‘广州’
正确答案:C
21.
(单选)操作cost表,若一个月使用了200小时,计算每种资费标准对应的最终费用是多少(考虑单位费用 和基础费用为null的情况,最终费用=固定费用+超时部分×单位费用), 下列sql语句正确的是:
A.
select id, nvl(base_cost,0) + (200 - nvl(base_duration,0)) * nvl(unit_cost,0) fee from cost;
B.
select id,nvl(base_cost,0) fee from cost;
C.
select id,200*nvl(unit_cost,0) fee from cost;
D.
select id, base_cost + (200 - base_duration)*unit_cost fee from cost;
正确答案:A
22.
(单选)显示上个月的今天,这个月的今天,下个月的今天,精度到时、分、秒,下列sql语句正确的是:
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;
B.
alter user set nls_date_format = 'yyyy mm dd
add_months(sysdate,-1),sysdate,add_months(sysdate,1) from dual;
C.
alter session set nls_date_format = 'yyyy mm dd
last_month(),this_month(),next_month() from dual;
D.
alter user set nls_date_format = 'yyyy mm dd
last_month(),this_month(),next_month() from dual;
正确答案:A
23.
hh24:mi:ss'; select hh24:mi:ss'; select hh24:mi:ss'; select
(单选)在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%’; 执行以上查询,结果是:
A.
1234
B.
2345
C.
4567
D.
运行后结果是“未选定行”
正确答案:D
24.
(单选)现有如下建表SQL语句: CREATE TABLE departments ( department_id NUMBER(4) PRIMARY KEY, department_name VARCHAR2(20), city VARCHAR2(20), province VARCHAR2(20) ) 下面插入语句正确的是:( )。
A.
INSERT INTO departments VALUES(300,’abc’);
INSERT INTO departments(department_name,department_id) VALUES(300,’design’);
C.
INSERT INTO departments(department_name,city) VALUES(‘design’,’bj’);
D.
INSERT INTO departments VALUES(300,’abc’,null,null);
正确答案:D
25.
(单选)下列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;
A.
在t_info表中可以看到id是2的数据 ,看不到id是 3,4,5的数据
B.
在t_info表中可以看到id是2,3,4的数据 ,看不到id是 5的数据
C.
在t_info表中可以看到id是2,3,4,5的数据
D.
在t_info表中可以看到id是2,5的数据, 看不到id是 3,4的数据
正确答案:B
26.
(单选)查询客户姓名以及他的推荐人,没有推荐人的客户信息不显示,下列sql语句正确的是:
A.
select a1.real_name customer, a2.real_name recommender from account a1 join account a2 on a1.id = a2.id;
B.
select a1.real_name customer, a2.real_name recommender from account a1 join account a2 on a1.recommender_id = a2.recommender_id;
C.
select a1.real_name customer, a2.real_name recommender from account a1 join account a2 on a1.recommender_id = a2.id;
D.
select a1.real_name customer, a2.real_name recommender from account a1, a2 on a1.recommender_id = a2.id;
正确答案:C
27.
(单选)在Oracle中,不能通过DROP关键字进行删除的是()。
A.
表
B.
视图
C.
表中记录
D.
序列
正确答案:C
28.
(单选)下面约束中只能定义在列级的是:()。
A.
UNIQUE
B.
NOT NULL
C.
FOREIGN KEY
D.
PRIMARY KEY
正确答案:B
29.
(单选)查询tarena23和tarena20上的远程登录业务使用了哪些相同的资费标准,下列sql语句正确的是:
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';
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';
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';
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
30.
(单选)以下不可以改变线程的状态的方法是:()。
A.
start
B.
run
C.
isAlive
D.
sleep
正确答案:C
(单选)DELETE和 TRUNCATE 都可以用来删除表内容,以下描述正确的是:()。
A.
TRUNCATE 不需要 RollbackSegment
B.
DELETE 不需要RollbackSegment
C.
TRUNCATE在 提交COMMIT之前仍可回滚
D.
TRUNCATE还可以删除表结构
正确答案:A
32.
(单选)以下选项中可以用来在books表的isbn列上创建一个主键约束pk_books的是()。
A.
CREATE PRIMARY KEY ON books(isbn);
B.
CREATE CONSTRAINT pk_books PRIMARY KEY ON books(isbn);
C.
ALTER TABLE books ADD CONSTRAINT pk_books PRIMARY KEY (isbn);
D.
ALTER TABLE books ADD PRIMARY KEY (isbn);
正确答案:C
33.
(单选)如果查询表a(有3行数据)和表b(有4行数据),使用SELECT * FROM a,b,返回的查询结果的行数是:()。
A.
7
1
C.
D.
12
正确答案:D
34.
(单选)在Oracle中,现有Student表,其中包括学号stuId,姓名stuName,成绩stuGrade, 现要查询成绩为80分的学生姓名,并且结果按照学号降序排列,下面查询语句正确的是()。
A.
SELECT stuName FROM student WHERE stuGrade=80 ORDER BY stuId
B.
SELECT stuName FROM student WHERE stuGrade=80 ORDER BY stuId DESC
C.
SELECT stuName FROM student WHERE stuGrade like 80 GROUP BY stuId
D.
SELECT stuName FROM student WHERE stuGrade=80 GROUP BY stuId DESC
正确答案:B
35.
(单选)在service表中,查询os账号名为:huangr 的unix服务器ip地址,os帐号名,下列sql语句正确的是:
A.
select unix_host,os_username from service where os_username = 'huangr';
B.
select unix_host,os_username from service where os_username = 'HUANGR';
C.
select unix_host,os_username from service where os_username = "huangr";
select unix_host,os_username from service where os_username = "HUANGR";
正确答案:A
36.
(单选)对于Oracle数据库采用分页查询的方式查询表emp的no和name从第100(包括)条到110(不包括)条记录的SQL语句 是:()。
A.
select no,name from emp where rownum=100
B.
select no, name from (select no,name rownum num from emp where rownum>= 100) where num
C.
select no, name from (select no,name rownum num from emp where rownum=100
D.
select no,name from emp limit 99, 10
正确答案:C
37.
(单选)关于Java线程说法错误的是()。
A.
创建线程的有2种方式,方式1是继承Thread类,方式2是实现 Runnable 接口
B.
解决线程安全使用问题 synchronized关键字,使得同一时间只有一个线程执行该关键字 限定的代码段
C.
线程间通信所使用的方法有,wait,notify,notifyAll,它们都是 Thread 的方法
D.
Java线程包括5个状态,线程的创建,可运行,运行,阻塞和消亡
正确答案:C
38.
(单选)下列代码中对象锁的使用效率最高的是:
A.
public class Foo{ private Object o1,o2; public synchronized void methodA(){对o1进行操作} public synchronized void methodB(){对o1进行操作} public synchronized void methodC(){对o2进行操作} public synchronized void methodD(){对o2进行操作} }
B.
public class Foo{ private Object lock = new Object(); private Object o1,o2; public void methodA(){synchronized(lock){对o1进行操作}} public void methodB(){synchronized(lock){对o1进行操作}} public void methodC(){synchronized(lock){对o2进行操作}} public void methodD(){synchronized(lock){对o2进行操作}} }
C.
public class Foo{ private Object lock = new Object(),lock2 = new Object(); private Object o1,o2; public void methodA(){synchronized(lock){对o1进行操作}} public void methodB(){synchronized(lock){对o1进行操作}} public void methodC(){synchronized(lock2){对o2进行操作}} public void methodD(){synchronized(lock2){对o2进行操作}} }
D.
public class Foo{ private Object lock = new Object(),lock2 = new Object(); private Object o1,o2; public void methodA(){synchronized(lock){对o1进行操作}} public void methodB(){synchronized(lock2){对o1进行操作}} public void methodC(){synchronized(lock){对o2进行操作}} public void methodD(){synchronized(lock2){对o2进行操作}} }
正确答案:C
39.
(单选)可以在Oracle中获取当前时间的Sql语句是()
A.
SELECT SYSDATE
B.
SELECT SYSDATE FROM DUAL
C.
SELECT DATE
D.
SELECT DATE FROM DUAL
正确答案:B
40.
(单选)现有a表和b表 表a:jigou(机构),kehhao(客户号),jiaoyrq(交易日期),jioyje(交易金额) 表b: kehhao(客户号),表b为VIP客户号表 统计分机构VIP客户的数量,下面SQL语句正确的是:()。
A.
SELECT COUNT(a.kehhao) FROM a INNER JOIN b ON a.kehhao = b.kehhao GROUP BY jigou
B.
SELECT COUNT(a.kehhao) FROM a INNER JOIN b ON a.kehhao = b.kehhao ORDER BY jigou
C.
SELECT SUM(a.kehhao) FROM a INNER JOIN b ON a.kehhao = b.kehhao ORDER BY jigou
D.
SELECT COUNT(a.kehhao) FROM a INNER JOIN b ON a.kehhao = b.kehhao HAVING jigou
正确答案:A
41.
(单选)Oracle中查询的时候可以去掉重复记录的是()
A.
SELECT DISTINCT name FROM user
B.
SELECT name DISTINCT FROM user
C.
SELECT name FROM user
D.
SELECT name FROM user LIMIT 1
正确答案:A
42.
(单选)有一个表leanr,表里有三个字段分别是学号(student_id),课程(kc),成绩(grade)。 查询表中存在课程重复2次以上的记录,显示课程和重复的 次数,并且按照重复次数的降序排列,下列SQL语句 正确的是:()。
A.
SELECT kc,COUNT(kc) FROM leanr ORDER BY COUNT(kc) DESC GROUP BY kc WHERE COUNT(kc)>=2 ;
B.
SELECT kc,COUNT(kc) FROM leanr ORDER BY COUNT(kc) DESC GROUP BY kc HAVING COUNT(kc)>=2 ;
C.
SELECT kc,COUNT(kc) FROM leanr GROUP BY kc WHERE COUNT(kc)>=2 ORDER BY COUNT(kc) DESC;
D.
SELECT kc,COUNT(kc) FROM leanr GROUP BY kc HAVING COUNT(kc)>=2 ORDER BY COUNT(kc) DESC;
正确答案:D
43.
(单选)阅读以下SQL语句: INSERT INTO student(stu_no)VALUES(1001); SAVEPOINT sp1; DELETE FROM student; SAVEPOINT sp2; 如果想要恢复student表中所有数据,并且结束该事务的正确做法是()。
A.
rollback to sp2;
B.
rollback to sp1;
C.
commit;
D.
rollback;
正确答案:D
44.
(单选)下列代码的运行结果是()。 public class TestOne implements Runnable { public static void main(String[] args) throws Exception { Thread t = new Thread(new TestOne()); t.start(); System.out.print("Started"); t.join(); System.out.print("Complete"); } public void run() { for (int i = 0; i
A.
StartedComplete
B.
StartedComplete0123
C.
Started0l23Complete
D.
0123StartedComplete
正确答案:C
45.
(单选)分析如下代码,语法正确的Sql语句是()。
A.
SELECT class,COUNT(stuId) FROM students WHERE stuAge>18 GROUP BY class HAVING count(stuId)>3
B.
SELECT name,class,COUNT(stuId) FROM students WHERE stuAge>18 GROUP BY class HAVING count(stuId)>3
C.
SELECT class,COUNT(stuId) FROM students GROUP BY class HAVING stuAge>18
D.
SELECT name,class,COUNT(stuId) FROM students WHERE COUNT(stuId)>3 GROUP BY class
正确答案:A
46.
(多选)以下创建线程的方式正确的是:
A.
class Runner implements Runnable { public void run() {线程体…} public static void main(String args[]) { Runner r = new Runner(); Thread t = new Thread(r); t.start(); } }
B.
class Runner implements Runnable { public void run() {线程体…} public static void main(String args[]) { Runner t = new Runner(); t.start(); } }
C.
class Runner extends Thread { public void run() {线程体… } public static void main(String args[]){ Thread t = new Runner(); t.start(); } }
D.
class Runner { public static void main(String args[]){ Thread t = new Thread(){ public void run() {线程体… } }; t.start(); } }
正确答案:ACD
47.
(多选)请看下列建表语句: 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表中成功实施插入数据的插入语句是:
A.
insert into test values (1,40,60);
B.
insert into test values (2,41,61);
C.
insert into test values (3,101,1);
D.
insert into test values (4,50,51);
正确答案:BD
48.
(多选)请看下列代码: public class TestFive { private int x; public void foo() { int current = x; x = current + 1; } public void go() { for (int i = 0; i
A.
移动代码“ System.out.print(x + ", ");”行进入foo方法,放置在“x = current + 1;” 行下面
B.
改变go方法的声明为:public synchronized void go()
C.
改变x的变量声明为:private static int x;
D.
把foo方法中的所有代码,使用synchronized( this )块括起来
正确答案:AD
49.
(多选)操作account表和service表,查询申请远程登录业务的客户的数据,下列sql语句正确的是:
A.
select real_name from account where in (select account_id from service);
B.
select real_name from account o where id exists (select 1 from service i where o.id = i.account_id);
C.
select real_name from account where id in (select account_id from service);
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语句正确的是:
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';
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';
D.
select real_name,birthdate,s.name from account a left join age_segment s on round((sysdate - birthdate)/365) between lowage and hiage;