第2章数据查询阶段练习
1.SQL语言中用来创建、删除及修改数据库对象的部分被称为:B
A. 数据库控制语言(DCL)
B. 数据库定义语言(DDL)
C. 数据库操纵语言(DML)
D. 数据库事务处理语言2.执行以下查询,表头的显示为:C
SELECT sal "Employee Salary" FROM emp
A. EMPLOYEE SALARY
B. employee salary
C. Employee Salary
D. "Employee Salary“
3.执行如下两个查询,结果为: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. 第二个查询正确,第一个查询错误
4.参考本章的emp表的内容执行下列查询语句,出现在第一行上的人是:
SELECT ename FROM emp WHERE deptno=10 ORDER BY sal DESC;
A. SMITH
B. KING
C. MILLER
D. CLARK
5.哪个函数与||运算有相同的功能:B
A. LTRIM
B. CONCAT
C. SUBSTR
D. INSTR
6.执行以下语句后,正确的结论是:D
SELECT empno,ename FROM emp WHERE hiredate<to_date('04-11月-1980')-100
A. 显示给定日期后100天以内雇佣的雇员信息
B. 显示给定日期前100天以内雇佣的雇员信息
C. 显示给定日期100天以后雇佣的雇员信息
D. 显示给定日期100天以前雇佣的雇员信息
7.执行以下语句出错的行是:D
SELECT deptno,max(sal) FROM emp
WHERE job IN('CLERK','SALEMAN','ANALYST')
GROUP BY deptno
HAVING sal>1500;
A. 第一行
B. 第二行
C. 第三行
D. 第四行
8.执行以下语句出错的行是:A
SELECT deptno,max(avg(sal))
FROM emp
WHERE sal>1000
Group by deptno;
A. 第一行
B. 第二行
C. 第三行
D. 第四行
9.执行以下语句出错的行是:A
SELECT deptno,dname,ename,sal
FROM emp,dept
WHERE emp.deptno=dept.deptno
AND sal>1000;
A. 第一行
B. 第二行
C. 第三行
D. 第四行
10.以下语句出错,哪种改动能够正确执行:D
SELECT deptno, max(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
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 job FROM emp WHERE deptno=10
MINUS
SELECT job FROM emp WHERE deptno=20;
A. 显示部门10的雇员职务和20的雇员职务
B. 显示部门10和部门20共同的雇员职务
C. 显示部门10和部门20不同的雇员职务
D. 显示在部门10中出现,在部门20中不出现的雇员职务
第3章数据操作阶段练习
1.参照本章的emp表,以下正确的插入语句是:D
A. INSERT INTO emp VALUES (1000, '小李', 1500);
B. INSERT INTO emp(ename,empno,sal) VALUES (1000, '小李', 1500);
C. INSERT INTO emp(empno,ename,job) VALUES ('小李',1000,1500);
D. INSERT INTO emp(ename,empno,sal) VALUES ('小李',1000,1500);
2.删除emp表的全部数据,但不提交,以下正确的语句是:B/C
A. DELETE * FROM EMP
B. DELETE FROM EMP
C. TRUNCATE TABLE EMP
D. DELETE TABLE EMP
3.以下不需要进行提交或回退的操作是:D
A. 显式的锁定一张表
B. 使用UPDATE修改表的记录
C. 使用DELETE删除表的记录
D. 使用SELECT查询表的记录
4.当一个用户修改了表的数据,那么:D
A. 第二个用户立即能够看到数据的变化
B. 第二个用户必须执行ROLLBACK命令后才能看到数据的变化
C. 第二个用户必须执行COMMIT命令后才能看到数据的变化
D. 第二个用户因为会话不同,暂时不能看到数据的变化
5.对于ROLLBACK命令,以下准确的说法是:C
A. 撤销刚刚进行的数据修改操作
B. 撤销本次登录以来所有的数据修改
C. 撤销到上次执行提交或回退操作的点
D. 撤销上一个COMMIT命令
第4章表和视图阶段练习
1.创建表时,用来说明字段默认值的是:C
A. CHECK
B. CONSTRAINT
C. DEFAULT
D. UNIQUE
2.表的主键特点中,说法错误的是:D
A. 一个表只能定义一个主键
B. 主键可以定义在表级或列级
C. 主键的每一列都必须非空
D. 主键的每一列都必须惟一
3.建立外键时添加ON DELETE CASCADE从句的作用是:B
A. 删除子表的记录,主表相关记录一同删除
B. 删除主表的记录,子表相关记录一同删除
C. 子表相关记录存在,不能删除主表记录
D. 主表相关记录存在,不能删除子表记录
4.下面有关表和视图的叙述中错误的是:C
A. 视图的数据可以来自多个表
B. 对视图的数据修改最终传递到基表
C. 基表不存在,不能创建视图
D. 删除视图不会影响基表的数据
5.以下类型的视图中,有可能进行数据修改的视图是:C/D
A. 带WITH READ ONLY选项的视图
B. 子查询中包含分组统计查询的视图
C. 子查询中包含计算列的视图
D. 带WITH CHECK OPTION选项的视图
第5章其他数据库对象阶段练习
1. 以下关键字中表示序列的是:A
A. SEQUENCE
B. SYNONYM
C. LUSTER
D. DATABASE LINK
2. 关于索引,说法错误的是:A
A. 索引总是可以提高检索的效率
B. 索引由系统自动管理和使用
C. 创建表的主键会自动创建索引
D. 删除索引对拥有索引的表的数据没有影响
3. 语句CREATE INDEX ABC ON emp(ename) 创建的序列类型是:B
A. B*树惟一索引
B. B*树非惟一索引
C. B*树惟一复合索引
D. B*树非惟一复合索引
4. 关于序列,说法错误的是:D
A. 序列产生的值的类型为数值型
B. 序列产生的值的间隔总是相等的
C. 引用序列的当前值可以用CURRVAL
D. 序列一旦生成便不能修改,只能重建
5. 关于同义词,说法错误的是:A
A. 同义词只能由创建同义词的用户使用
B. 可以为存储过程创建同义词
C. 同义词可以和表重名
D. 公有同义词和私有同义词创建的权限不同
第6章 PL/SQL基础阶段练习
1. 用来存放可变长度字符串的函数是:B
A. CHAR
B. VARCHAR2
C. NUMBER
D. BOOLEAN
2. 在程序中必须书写的语句是:C
A. SET SERVEROUTPUT ON
B. DECLARE
C. BEGIN
D. EXCEPTION
3. 在程序中正确的变量定义语句是:B
A. emp_ame%ROWTYPE
B. emp_record emp%ROWTYPE
C. v_ename emp%TYPE
D. v_ename ename%TYPE
4. 在程序中最有可能发生错误的语句是:A
A. INSERT INTO emp(empno,ename) VALUES(8888,'Jone')
B. UPDATE emp SET sal=sal+100
C. DELETE FROM emp
D. SELECT * FROM emp
5. 关于以下分支结构,如果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
6. 关于以下循环,如果I的初值是3,则循环的次数是:A
WHILE I<6 LOOP
I:= I + 1;
END LOOP;
A. 3
B. 4
C. 5
D. 6
7. 以下表达式的结果非空的是:B
A. NULL||NULL
B. 'NULL'||NULL
C. 3+NULL
D. (5>NULL)
第7章游标和异常处理阶段练习
1. 关于显式游标的错误说法是:D
A. 使用显式游标必须先定义
B. 游标是一个内存区域
C. 游标对应一个SELECT 语句
D. FETCH 语句用来从数据库中读出一行数据到游标
2. 有4条与游标有关的语句,它们在程序中出现的正确顺序是:B
1) OPEN abc
2) CURSOR abc IS SELECT ename FROM emp
3) FETCH abc INTO vname
4) CLOSE abc
A. 1、2、3、4
B. 2、1、3、4
C. 2、3、1、4
D. 1、3、2、4
3. 用来判断FETCH语句是否成功,并且在FETCH语句失败时返回逻辑真的属性
是:B
A. %ROWCOUNT
B. %NOTFOUND
C. %FOUND
D. %ISOPEN
4. 在程序中执行语句SELECT ename FROM emp WHERE job='CLERK' 可能引发的
异常类型A
A. NO_DATA_FOUND
B. TOO_MANY_ROWS
C. INVALID_CURSOR
D. OTHERS
5. 有关游标的论述,正确的是:A
A. 隐式游标属性%FOUND代表操作成功
B. 显式游标的名称为SQL
C. 隐式游标也能返回多行查询结果
D. 可以为UPDATE语句定义一个显式游标
第8章存储过程、函数和包阶段练习
1.如果存储过程的参数类型为OUT,那么调用时传递的参数应该为:C
A.常量 B.表达式 C.变量 D.都可
以
2.下列有关存储过程的特点说法错误的是:A
A.存储过程不能将值传回调用的主程序
B.存储过程是一个命名的模块
C.编译的存储过程存放在数据库中
D.一个存储过程可以调用另一个存储过程
3.下列有关函数的特点说法错误的是:D
A.函数必须定义返回类型
oracle游标的使用B.函数参数的类型只能是IN
C.在函数体内可以多次使用RETURN语句
D.函数的调用应使用EXECUTE命令
4.包中不能包含的元素为:D
A.存储过程 B.存储函数
C.游标 D.表
5.下列有关包的使用说法错误的是:C
A.在不同的包内模块可以重名
B.包的私有过程不能被外部程序调用
C.包体中的过程和函数必须在包头部分说明
D.必须先创建包头,然后创建包体
第9章触发器阶段练习
1. 下列有关触发器和存储过程的描述,正确的是:D
A. 两者都可以传递参数
B. 两者都可以被其他程序调用
C. 两种模块中都可以包含数据库事务语句
D. 两者创建的系统权限不同
2. 下列事件,属于DDL事件的是:C
A. INSERT
B. LOGON
C. DROP
D. SERVERERROR
3. 假定在一个表上同时定义了行级和语句级触发器,在一次触发当中,下列说法正确的A
A. 语句级触发器只执行一次
B. 语句级触发器先于行级触发器执行
C. 行级触发器先于语句级触发器执行
D. 行级触发器对表的每一行都会执行一次
4. 有关行级触发器的伪记录,下列说法正确的是:D
A. INSERT事件触发器中,可以使用:old伪记录
B. DELETE事件触发器中,可以使用:new伪记录
C. UPDATA事件触发器中,只能使用:new伪记录
D. UPDATA事件触发器中,可以使用:old伪记录
5. 下列有关替代触发器的描述,正确的是:D
A. 替代触发器创建在表上
B. 替代触发器创建在数据库上
C. 通过替代触发器可以向基表插入数据
D. 通过替代触发器可以向视图插入数据
复习题一
1.关系模型允许定义三类完整性约束;实体完整性、参照完整性和用户定义的完整性
2.Oracle数据库是主要由三种类型的文件组成:数据文件、日志文件和控制文件,另外还包括一些参数文件。其中:数据文件的扩展名为.DBF;日志文件的扩展名为.LOG;控制文件的扩展名为.CTL。
3.Oracle的逻辑存储凌单元从小到大依次为:数据块(DATA BLOCKS)、盘区(EXTENT)、段(SEGMENTS)和表空间(TABLE SPACES)。
4.段不再是存储空间的分配单位,而是一个独立的逻辑存储结构,按照段中据存数据的特征,可以将段分为四种类型:数据段、索引段、回退段、LOB段和临时段。
通过dba_segments数据字典表查看
5.TEMP 用于存储临时表等信息
UNDO 用于保存回滚段(Rollback Segment)
USERS 用于存放用户私有信息
6.Oracle 的内存结构由两个内存区组成:系统全局区 (SGA) 程序全局区 (PGA
7.标准SQL语句分类:
DML DDL DCL
8.求:12+32+52+...+152的值。
输入并执行以下程序:
SET SERVEROUTPUT ON
DECLARE
v_total NUMBER(5):=0;
v_count NUMBER(5):=1;
BEGIN
LOOP
v_total:=v_total+v_count**2;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论