练习题

题型与分值分布

一、选择题 40%(每小题2分,共40分)

二、填空题20%(每空2分,共20分)

三、判断题5%(每小题1分,共5分)

四、程序阅读题15%(每小题5分,共15分)

五、编程题20%(每小题10分,共20分)

一、选择题

1、Oracle 10g中g代表的意思是:D

A. 第几代数据库

B. 数据库的存储容量

C. 数据库的安装所需的空间

D. 网格计算

2、可变长度的字符串类型,用以下的哪个关键字表示:B

A. CHAR

B. VARCHAR2

C. BOOLEAN

D. NUMBER

3、Oracle数据库属于以下哪种类型:C

A.网状数据库

B. 层次数据库

C.关系数据库

D. 面向对象关系数据库

4、Oracle自带的SQL语言环境称为:C

A. SQL

B. PL/SQL

C. SQL Plus

D. TOAD

5、SQL语言中用来创建、删除以及修改数据库对象的部分被称为:B

A. 数据库控制语言(DCL)

B. 数据库定义语言(DDL)

C. 数据库操纵语言(DML)

D. 数据库事务处理语言

6、执行如下连个查询,结果为:A

SELECT ename name,sal salary FROM emp order by salary; SELECT ename name,sal "SALARY" FROM emp order by sal ASC;

A. 两个查询结果完全相同

B. 两个查询结果不相同

C. 第一个查询正确,第二个查询错误

D. 第二个查询正确,第一个查询错误

7、执行以下查询,表头的显示为:C

SELECT sal "Employee Salary" FROM emp

A. EMPLOYEE SALARY

B. employee salary

C. Employee Salary

D. "Employee Salary"

8、执行以下语句出错的行是:A

SELECT deptno,dname,ename,sal

FROM emp,dept

WHERE emp.deptno=dept.deptno

AND sal>1000;

A. 第一行

B. 第二行

C. 第三行

D. 第四行

9、以下语句出错,哪种改动能够正确执行:D

SELECT deptno, max(avg(sal))

FROM emp

GROUP BY deptno

WHERE max(sal)>2500;

A. 将WHERE和GROUP BY语句顺序调换一下

B. 将WHERE max(sal)>2500语句改成HAVING max(sal)>2500

C. 将WHERE max(sal)>2500语句改成WHERE sal>2500

D. 将WHERE max(sal)>2500语句改成HAVING sal>2500

10、执行以下语句后,正确的结论是:D

SELECT empno,ename FROM emp WHERE hiredate

A.显示给定日期后100天以内雇佣的雇员信息

B.显示给定日期前100天以内雇佣的雇员信息

C.显示给定日期100天以后雇佣的雇员信息

D.显示给定日期100天以前雇佣的雇员信息

11、执行以下语句出错的行是:D

SELECT deptno,max(sal) FROM emp

WHERE job IN('CLERK','SALEMAN','ANALYST')

GROUP BY deptno

HAVING sal>1500;

A. 第一行

B. 第二行

C. 第三行

D. 第四行

11、以下语句的作用是:D

SELECT ename,sal FROM emp

WHERE sal<(SELECT MIN(sal) FROM emp)+1000;

A. 显示工资低于1000元的雇员信息

B. 将雇员工资小于1000元的工资增加1000后显示

C. 显示超过最低工资1000元的雇员信息

D. 显示不超过最低工资1000元的雇员信息

12、以下语句出错,那种改动能够正确执行:D

SELECT deptno, max(avg(sal))

FROM emp

GROUP BY deptno

WHERE max(sal)>2500;

A. 将WHERE和GROUP BY语句顺序调换一下

B. 将WHERE max(sal)>2500语句改成HAVING max(sal)>2500

C. 将WHERE max(sal)>2500语句改成WHERE sal>2500

D. 将WHERE max(sal)>2500语句改成HAVING sal>2500

13、删除emp表的全部数据,但不提交,以下正确的语句是:B

A. DELETE * FROM EMP

B. DELETE FROM EMP

C. TRUNCATE TABLE EMP

D. DELETE TABLE EMP

14、当一个用户修改了表的数据,那么: D

A. 第二个用户立即能够看到数据的变化

B. 第二个用户必须执行ROLLBACK命令后才能看到数据的变化

C. 第二个用户必须执行COMMIT命令后才能看到数据的变化

D. 第二个用户因为会话不同,暂时不能看到数据的变化

15、创建表时,用来说明字段默认值的是:C

A. CHECK

B. CONSTRAINT

C. DEFAULT

D. UNIQUE

16、以下不需要进行提交或回滚的操作是:D

A. 显示的锁定一张表

B. 使用UPDATE修改表的记录

C. 使用DELETE删除表的记录

D. 使用SELECT查询表的记录

17、对于ROLLBACK命令,以下准确的说法是:C

A. 撤销刚刚进行的数据修改操作

B. 撤销本次登录以来所有的数据修改

C. 撤销到上次执行提交或回退操作的点

D. 撤销上一个COMMIT命令

18、Oracle中,用来判断列值是否为空的操作符是:B

A. ==NULL

B. IS NULL

C. AS NULL

D. NULLS

19、以下运算结果不为空值的是:B

A. 12/(60+NULL)

B. NULL||‘NULL’

C. 60*NULL

D. 12+NULL

20、若当前日期为‘18-4 月-14’,以下哪个表达式能计算出5个月后那一天所在月份的最后一天的日期。A

A. LAST_DAY(ADD_MONTHS(‘18-4 月-14’,5))

B. LAST_DAY(MONTHS_BETWEEN(‘18-4 月-14’,5))

C. NEXT_DAY(MONTHS_BETWEEN(‘18-4 月-14’,5))

D. LAST DAY(ADD MONTHS(‘18-4 月-14’,5))

21、关于以下分支结构,如果i的初值是15,循环结束后j的值是:D

IF i>20 THEN

j:=i*2;

ELSIF i>15 THEN

j:=i*3;

ELSE

j:=i*4;

END IF;

A.15

B. 30

C. 45

D. 60

22、在pl/sql程序中,必须书写的语句是:C

A.SET SERVEROUTPUT ON

B.DECLARE

C. BEGIN

D. EXCEPTION

23、关于以下循环,如果I的初值是3,则循环的次数是:A

WHILE I<6 LOOP

I:=I+1;

END LOOP;

A.3

B. 4

C. 5

D. 6

24、在Oracle中,使用HAVING字句也可以进行条件查询,以下选项说法正确的是:C

A.HAVING子句和WHERE字句相同

B.HAVING子句用于行的条件查询

C.HAVING子句用于已分组结果的条件查询

D.以上都不对

练习题

25

A.存储过程 C.游标 D. 表

26、下列哪个动作不会激发一个触发器?A

A. 查询数据

B. 更新数据

C.删除数据

D.插入数据

练习题

27、在Oracle中,下面哪条语句当COMM字段为空时显示0,不为空时显示COMM

A. SELECT ename,NVL(comm,0) FROM emp;

B. SELECT ename,NULL(comm,0) FROM emp;

C. SELECT ename,NULLIF(comm,0) FROM emp;

D. SELECT ename,DECODE(comm,NULL,0) FROM emp;

练习题

28、在Oracle

A. WHERE

B. HAVING

C. ORDER BY

D.

练习题

29

A. 函数必须定义返回类型

B. 函数参数的类型只能是IN

C. 在函数体内可以多次使用RETURN语句

D. 函数的调用应使用EXECUTE

练习题

30、下列事件中,属于DDL

A. INSERT

B. LOGON

C. DROP

D. SERVERERROR

二、填空题

1、在SQL的查询结果中如果存在重复行,可以使用关键字 DISTINCT 消除重复记录。

练习题

和FROM。

练习题

3、SQL语言按功能可分为四种,包括:数据库控制语言(DCL)

练习题

练习题

4、在SQL的查询语句中,有两个关键字是不能省略的,它们是SELECT和 FROM 。

5、SQL语句中,创建表的关键词是,删除表的关键词是DROP TABLE,查询时将查询结果排序的关键词是。

6、与SQL Server数据库相比,Oracle数据库的安全性较高(高、低)。

7、要保证数据的正确性,就需要实现表的完整性,完整性通过约束条件来实现。这些约束条件包括主键(PRIMARY KEY)约束、禁止约束、惟一(UNIQUE)约束、检查(CHECK)约束和外部键约束。

8、PL/SQL程序的基本单元是语句块,这个基本单元由三个部分组成,其中,异常处理部分的标志是 exception 。

9、在PL/SQL中,变量的声明可以根据数据库表的字段进行定义,方法是在表的字段名后加,将其当作数据类型。

10、PL/SQL程序的基本单元是语句块,这个基本单元由三个部分组成,其中,执行部分的标志是 begin 。

练习题

11、包由两个分离的部分组成:包头(PACKAGE

练习题

12“_”则代表一个长度的内容。

三、判断题

1、Oracle自带的SQL语言环境是PL/SQL。X

2、DELETE可以有选择的删除记录,使用ROLLBACK语句可以取消这个命令的执行。

3、Oracle数据库默认最高权限的管理员账号是SYS,密码是tiger。

4、创建表时,可以用DEFAULT来定义字段的默认值。

5、使用HAVING子句是为了限制GROUP BY子句返回的行的个数。

6、Oracle中提供的字符串连接操作符号是“&”。

7、在pl/sql程序中,必须书写的语句是DECLARE。

8、一个存储过程可以调用另一个存储过程。

9、Oracle数据库的创始人是SCOTT。

10、包中可以包含存储过程、函数和游标等元素。

四、程序阅读题

1、阅读以下程序,理解其功能,写出运行结果:

DECLARE

var_a number:=1200;

var_b number;

BEGIN

IF var_a>500 THEN

var_b:=5;

ELSE var_a>1000 THEN

var_b:=10;

ELSE

var_b:=8;

END IF;

dbms_output.put_line(var_b);

END;

/

程序运行结果: 5

2、阅读以下程序,理解其功能,写出运行结果:

DECLARE

var_a number:=1200;

var_b number;

BEGIN

IF var_a<500 THEN

var_b:=5;

ELSE var_a<1000 THEN

var_b:=10;

ELSE

var_b:=8;

END IF;

dbms_output.put_line(var_b);

END;

/

程序运行结果: -5

3、阅读以下程序,理解其功能,写出运行结果:

SET SERVEROUTPUT ON

DECLARE

ctr number:=0;

BEGIN

WHILE ctr<3

LOOP

dbms_output.put_line(ctr+1||’’);

ctr:=ctr+1;

END LOOP;

END;

/

程序运行结果: 1 2 3 4、阅读以下程序,理解其功能,写出运行结果:

SET SERVEROUTPUT ON

DECLARE

ctr number:=0;

BEGIN

WHILE ctr<5

LOOP

dbms_output.put_line(ctr+1||’’);

ctr:=ctr+1;

END LOOP;

END;

/

程序运行结果: 1 2 3 4 5

5、阅读以下程序,理解其功能,写出运行结果:

SET SERVEROUTPUT ON

DECLARE

summ number:=0;

I number(3):=10;

BEGIN

WHILE I>0 LOOP

summ:=sum+I;

I:=I-1;

END LOOP;

dbms_output.put_line(summ);

END;

/

程序运行结果: 55

6、阅读以下程序,理解其功能,写出运行结果:

SET SERVEROUTPUT ON

DECLARE

summ number:=0;

I number(3):=10;

BEGIN

WHILE I>0 LOOP

summ:=sum+I;

I:=I-2;

END LOOP;

dbms_output.put_line(summ);

END;

/

程序运行结果:

五、编程题

1、编写一个PL/SQL块,功能是:查询出emp表中,雇员编号为7788的姓名和工资。

2、编写一个PL/SQL过程,功能是:显示emp表中雇员总人数。

2、编写一个PL/SQL块,功能是求:12+32+52+…+152的值。

相关推荐
相关主题
热门推荐