1、 1.(单选)下面是 SqlPlus 命令的是:()。o A.DESCo B.ALTERo C.SELECTo D.DELETE正确答案:A 2.(单选)下列会自动创建索引的约束的是:()。o A.UNIQUEo B.NOT NULLo C.FOREIGN KEYo D.CHECK正确答案:A 3.(单选)下面不属于接口的是:()。o A.java.sql.Connectiono B.java.sql.Drivero C.java.sql.DriverManagero D.java.sql.ResultSet正确答案:C 4.(单选)在 Oracle 中,控制年龄必须在 18 到 50 之间(
2、包含 18 和 50),可使用的代码是()。o A.age18 and age=18 and age=18 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 =
3、 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
4、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
5、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(un
6、it_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
7、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(),th
8、is_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 boo
9、ks(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._selfo B._blanko C._topo D._parent正确答案:B 22.(单选)JDBC 的 Connection 接口不包含的方法是()。o A.createStatement()o B.prepareStatement(String sql)o C.creat
10、ePrepareStatement(String sql)o D.commit()正确答案:C 23.(单选)在 Oracle 中,当数据量较大时,删除表中所有数据,效率较高的是()。o A.DELETE FROM Studento B.DELETE FROM Student WHERE id0o C.TRUNCATE table Studento D.TRUNCATE table Student WHERE id0正确答案:C 24.(单选)下面关于序列的描述不正确的是:()o A.序列和表一样,都是 Oracle 数据库中的对象o B.序列产生的值,可以作为表的主键值o C.在序列的使用中
11、,最好的方式是多个表可以共用一个序列,来减少 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.1234o B.2345o C.4567o D.运行后结果是“未选定行”正确答案:D 26.(单选)下面关于事务(Transaction)
12、的说法错误的是:()。o A.事务具备 ACID 四个基本特性,即 A(Atomicity)原子性、C(Consistency)一致 性、I(Isolation)隔离性、D(Durability)持久性。o B.事务的提交(Commit)指将事务中所有对数据库的更新写到磁盘上的物理数据库中去,事 务正常结束。o C.事务的回滚(Rollback)指在事务运行的过程中发生了某种故障,事务不能继续进行,将事 务中对数据库的所有以完成的操作全部撤消,回滚到事务开始的状态。o D.JDBC 通过 Connection 对象控制事务,默认方式下,在执行完更改语句后需要必须要调用 Connection 的
13、 commit 方法,对数据的更改才能生效。正确答案:D 27.(单选)在 JDBC 中使用事务,想要回滚事务的方法是 ( )。o A.Connection 的 commit()o B.Connection 的 setAutoCommit()o C.Connection 的 rollback()o D.Connection 的 close()正确答案:C 28.(单选)下面约束中只能定义在列级的是:()。o A.UNIQUEo B.NOT NULLo C.FOREIGN KEYo D.PRIMARY KEY正确答案:B 29.(单选题)下列 SQL 语句执行后的结果是:()。 SQL CREA
14、TE 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
15、 的数据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 的数据正确答案:Boracle 中,使用“rollback“关键字可以将表的当前状态回滚至上一次事务结束后的状态,也可以使用“rollback 还原点“的方式回滚到同一事务内的指定还原点处。在本题中,从始至终都没有通过 commit 进行提交事务,所以从始至终所有操作都处于同一事务过程中,且在插入 id 为 2 的数据后进行
16、了第一次设定还原点 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 =
17、 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
18、_name recommender from account a1, a2 on a1.recommender_id = a2.id;正确答案:C 31.(单选)如果查询表 a(有 3 行数据)和表 b(有 4 行数据),使用 SELECT * FROM a,b,返回的查询结果的行数是:()。o A.7o B.1o C.0o D.12正确答案:D 32.(单选)以下选项中可以用来从表 state 中删除列 update_dt 的是( )。o A.ALTER TABLE state DROP COLUMN update_dt;o B.ALTER TABLE state DELETE COLUMN
19、 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 VALU
20、ES(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 的 exec
21、uteUpdate()方法会返回是否更新成功的 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=100o B.select no, name from (select no,
22、name rownum num from emp where rownum= 100) where num=100o D.select no,name from emp limit 99, 10正确答案:C 36.(单选)DELETE 和 TRUNCATE 都可以用来删除表内容,以下描述正确的是:()。o A.TRUNCATE 不需要 RollbackSegmento B.DELETE 不需要 RollbackSegmento C.TRUNCATE 在 提交 COMMIT 之前仍可回滚o D.TRUNCATE 还可以删除表结构正确答案:A 37.(单选)在 Oracle 数据库中,关于主键约束
23、与唯一约束说法错误的是()。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 stuIdo B.SELECT stuName FROM
24、student WHERE stuGrade=80 ORDER BY stuId DESCo C.SELECT stuName FROM student WHERE stuGrade like 80 GROUP BY stuIdo D.SELECT stuName FROM student WHERE stuGrade=80 GROUP BY stuId DESC正确答案:B 39.(单选)下面不属于表单属性的有()。o A.actiono B.methodo C.enctypeo D.size正确答案:D 40.(单选)点击 delete 后弹出确认框,点击取消,页面停留在当前页面。以下超链
25、接写法正确的是:( )o A.deleteo B.deleteo C.deleteo 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
26、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 = “INS
27、ERT INTO dept (id,name)VALUES(seq_dept.NEXTVAL,?)“; PrepareStatement stmt = con.prepareStatement(sql); stmt.setString(2,”design”);正确答案:A 42.(单选)可以在 Oracle 中获取当前时间的 Sql 语句是()o A.SELECT SYSDATEo B.SELECT SYSDATE FROM DUALo C.SELECT DATEo D.SELECT DATE FROM DUAL正确答案:B 43.(单选题)表 student 有两个字段 stu_no 和 s
28、tu_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 st
29、mt = 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) val
30、ues(seq_student.nextval,?)“; PrepareStatement stmt = con.prepareStatement(sql); stmt.setString(2,“习近平“);正确答案:A序列是 oracle 中的对象,可以在 oracle 中的 sql 语句中调用使用, 在 java 代码中无效。 PreparedStatement 是事先将 sql 语句进行预编译处理, 将来通过该对象 setXxx(index,object)方法进行注入参数值。 B 选项的写法,以字符串的形式注入值,那么将来也是把这个字符串里面的字符序列作为最终值去使用,而不会进行 seq
31、uence 对象调用执行。 所以正确写法必须是 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)
32、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
33、 *FROM state WHERE cnt_code =1 WITH READ ONLY;o A.SELECTo B.SELECT , UPDATEo C.SELECT , DELETEo 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
34、) FROM ORDERS o1,orders o2 WHERE o1.pid=p01 AND o2.pid=p02 AND o1.cid=o2.cido 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 列上创建了唯一约束,其中
35、正确的是: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.
36、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.(多选)请看下列建表语句: cre
37、ate 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 int
38、o 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
39、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_segmen
40、t 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 acco
41、unt 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;正确答案:ACon 和 where 的区别在于 on 条件是在生成临时表时使用的条件 它不
42、管 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. s
43、elect 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