达内JSD1510第二次月考题,oracle数据库考题,数据库基础知识语法

达内JSD1510第二次月考题

考试范围:oracle数据库

适合初学者对数据库的基础知识进行测试。

1.

(单选)查询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

2.

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

A.Connection

B.Statement

C.ResultSet

D.DriverManager

正确答案:A

3.

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

A.java.sql.Connection

B.java.sql.Driver

C.java.sql.DriverManager

D.java.sql.ResultSet

正确答案:C

4.

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

A.!=

B.<>

C.IS

D.=

正确答案:C

5.

(单选)在JDBC连接数据库编程应用开发中,可以实现数据库连接的是()。

A.Connection接口

B.PreparedStatement类

C.CallableStatement类

D.Statement类

正确答案:A

6.

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

A.age>18 and age<50

B.age>=18 and age<=50

C.age>=18 && age<=50

D.age>18 && age<50

正确答案:B

7.

(单选)下列Oracle语句中,属于DCL的有()

A.GRANT

B.DESC

C.CONNECT

D.INSERT

正确答案:A

8.

(单选)下列选项中能够得到字符串的一部分的单行函数是()。

A.INSERT

B.SUBSTR

C.LPAD

D.LEAST

正确答案:B

9.

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

A.DESC

B.ALTER

C.SELECT

D.DELETE

正确答案:A

10.

(单选)下列属于DML语句的是:()。

https://www.360docs.net/doc/4e15978218.html,MIT

B.INSERT

C.DROP

D.GRANT

正确答案:B

11.

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

A.getNumber()

B.getDouble()

C.setNumber()

D.setDouble()

正确答案:B

12.

(单选)在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

13.

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

A.7

B.1

C.0

D.12

正确答案:D

14.

(单选)现有如下建表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’);

B.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

15.

(单选)在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

16.

(单选)查询客户姓名以及他的推荐人,没有推荐人的客户信息不显示,下列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

17.

(单选)下列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

18.

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

A.表

B.视图

C.表中记录

D.序列

正确答案:C

19.

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

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

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

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

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

正确答案:C

20.

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

A.createStatement()

B.prepareStatement(String sql)

C.createPrepareStatement(String sql)

https://www.360docs.net/doc/4e15978218.html,mit()

正确答案:C

21.

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

A.DELETE FROM Student

B.DELETE FROM Student WHERE id>0

C.TRUNCATE table Student

D.TRUNCATE table Student WHERE id>0

正确答案:C

22.

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

A.TRUNCATE 不需要RollbackSegment

B.DELETE 不需要RollbackSegment

C.TRUNCATE在提交COMMIT之前仍可回滚

D.TRUNCATE还可以删除表结构

正确答案:A

23.

(单选)以下选项中可以用来在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

24.

(单选)在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

25.

(单选)显示上个月的今天,这个月的今天,下个月的今天,精度到时、分、秒,下列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 hh24:mi:ss'; select add_months(sysdate,-1),sysdate,add_months(sysdate,1) from dual;

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

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

正确答案:A

26.

(单选)查询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

27.

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

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

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

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

D.select no,name from emp limit 99, 10

正确答案:C

28.

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

A.Connection的commit()

B.Connection的setAutoCommit()

C.Connection的rollback()

D.Connection的close()

正确答案:C

29.

(单选)以下选项中可以用来从表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

30.

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

A.UNIQUE

B.NOT NULL

C.FOREIGN KEY

D.PRIMARY KEY

正确答案:B

31.

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

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

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

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

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

正确答案:B

32.

(单选)在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";

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

正确答案:A

33.

(单选)在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

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

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

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

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

D.MySql数据不支持序列

正确答案:C

35.

(单选)下面关于事务(Transaction)的说法错误的是:()。A.事务具备ACID四个基本特性,即A(Atomicity)—原子性、C (Consistency)—一致性、I(Isolation)—隔离性、D(Durability)—持久性。

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

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

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

正确答案:D

(单选)操作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

37.

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

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

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

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

D.ResultSet中的next()方法会使结果集中的下一行成为当前行正确答案:B

38.

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

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

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,"习近平");

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

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

正确答案:A

39.

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

A.SELECT SYSDATE

B.SELECT SYSDATE FROM DUAL

C.SELECT DATE

D.SELECT DATE FROM DUAL

正确答案:B

40.

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

A.SELECT

B.SELECT , UPDATE

C.SELECT , DELETE

D.SELECT , INSERT

正确答案:A

41.

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

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

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

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

D.String sql = "INSERT INTO dept

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

正确答案:A

42.

(单选)现有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

43.

(单选)试图使用下面句子查询数据:SELECT 100/NVL(quantity, 0) FROM inventory; quantity为NULL 空值时,将导致出错,其原因是:()。

A.除数表达式为空值

B.函数参数数据类型不一致

C.空值不能被转成实际值

D.除数表达式为零

正确答案:D

44.

(单选)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

45.

(单选)有一个表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;

相关文档
最新文档