资源描述
. .
Oracle 选择题题库
1. 以下命令哪个是 SQL*PLUS 命令?( )
A.UPDATE B.EDIT C.SELECT D.ALTER TABLE
2. 用SQL*PLUS的_____命令可以查看表的结构信息,包括列的名称和数据类型
A.DESCRIPTION B.DESC C.SHOW TABLE D.SHOW USER
3. Oracle的前端工具是( )
A.SQL*PLUS B.C++ C.PL/SQL D.JAVA
4. 在SQL*PLUS中,如何运行SQL脚本程序( )
A./ B.脚本 C.EXE 脚本 D.不能在SQL*PLUS中直接运行脚本
5. 用命令将SQL*PLUS缓冲区中的容保存到文件中,使用下列哪种方法( )
A.将缓冲区的容Ctrl+C,然后再Ctrl+V到文件中即可
B.使用SAVE命令参数是文件路径
C.WRITE 方式,参数是文件路径
D.Oracle会自动保存
6. 用来设置一行能够显示的字符长度的命令是( )
A.SET LINESIZE B.SET LINE
C.SET LINEBUFFER D.SET SIZELINE
7. 以下哪个命令用来设置查询显示结果的列宽
A.SET COLUMN SIZE B.COLUMN 列 FORMAT 长度
C.COLUMN 列 长度 D.长度 OF COLUMN
8. ORACLE用来判断列值是否为空的操作符是____
A.= NULL B.IS NULL C.AS NULL D.NULL IS
9. 在客户定单表(CUSTOMER)中有一列为单价(PRICE),写一个SELECT命令显示所有单价在500以上的查询语句。
A SELECT * FROM CUSTOMER WHERE PRICE>500;
B SELECT * FROM CUSTOMER WHERE PRICE BETWEEN 500 AND *;
C SELECT * FROM CUSTOMER WHERE PRICE LIKE '%500%';
D SELECT * FROM CUSTOMER WHERE PRICE>=500;
10. 分析以下SQL 命令:
SELECT price
FROM inventory
WHERE price BETWEEN 1 AND 50
AND (price IN(55, 30, 95);
命令执行后的输出结果是:( )
A 55 B 30 C 95 D NULL
11. 分析以下的SQL 命令:
SELECT manufacturer_id
FROM inventory
WHERE manufacturer_id LIKE '%N\%P\%O%' ESCAPE '\';
命令执行的返回结果是()
A 所有包含'NPO'的纪录
B 所有包含'N\P\O'的纪录
C 所有包含'N%P%O'的纪录
D 所有包含'%N\P\O%'的纪录
12. ROUND 和TRUNC 操作的区别是( )
A ROUND在截掉数据时有四舍五入的判断,TRUNC直接按要求截掉没有进位。
B 都是将数据按指定的长度截断
C TRUNC是四舍五入,ROUND是截断
D 都会四舍五入
13. 如果在where子句中有两个条件要同时满足,应该用以下哪个逻辑符来连接( )
A.OR B.NOT C.AND D.NONE
14. 在从两个表中查询数据时,连接条件要放在哪个子句中( )
A.FROM B.WHERE C.HAVING D.GROUP BY
15. 用以下哪个子句来限制分组统计结果信息的显示
A.FROM B.WEHRE C.SELECT D.HAVING
16. 哪中类型的约束只能定义在列级( )
A. CHECK B.NOT NULL C.PRIMART KEY D.FOREIGN KEY
17. 在建表时如果希望某列的值,在一定的围,应建什么样的约束?
A. CHECK B.NOT NULL C.PRIMART KEY D.FOREIGN KEY
18. RDBMS是下列哪一项的缩写:___
A Relational DataBase Management System(关系数据库管理系统)
B Relational DataBase Migration System(关系数据库移植系统)
C Relational Data Migration System(关系数据移植系统)
D Relational DataBase Manage System(关系数据库管理系统)
19. INSERT语句是( )
A DML语句 B DDL语句 C DCL语句 D DTL语句
20. COUNT(列名)函数返回( )
A 包含空值和重复值的所有记录
B 不包含空值和重复值的记录
C 包含重复值,但不包含空值的记录
D 都不是
21. ( )操作符将两个查询的结果合并为单个结果
A 算术 B 比较 C 集合 D 以上都不是
22. ( )操作符之返回两个查询的共有行
A INTERSECT B UNION C MINUS D 没有
23. ( )函数返回一个值除以另一个值后的余数
A MOD B ABS C CEIL D 以上都不是
24. ( )子句处理分组的结果
A WHERE B HAVING C SELECT D 以上都不是
25. TRUNCATE TABLE 是用于( )
A 删除表结构 B 仅删除记录 C删除结构和记录 D都不是
26. 同义词用于下列情况( )
1 隐藏对象的名称和所有者
2 提供对对象的公共访问
A 两者都对 B 1错 2对 C 两者都错 D 1对 2错
27. ( )是oracle提供的一个对象,可以生成唯一的连续的整数
A 同义词 B 序列 C 视图 D 索引
28. 可以使用那些伪列来访问序列( )
A nextval和currval B nextval和previousval
C cache和nocache D 以上都不对
29. 下列有关视图的描述那一个是正确的( ) //貌似AB都是对的
A 视图是已存储的查询
B 视图隐藏了数据的复杂性
C 视图就是表
D 视图不提供安全性
30. 以下权限哪个是系统权限( )
A.ALTER B.EXECUTE C.select D.create ANY TABLE
31. 以下哪个权限是对象权限?
A.select B.DROP USER C.CREATE SESSION D.BACKUP ANY TABLE
32. 关于数据库存储结构说确的是( )
A oracle始终都只能以块作为存储单位
B oracle是以块为基本存储单位,然后将块组合成区,再将区合为段,最后再由表空间对这些段进行管理。
C oracle的基本存储单位是表空间
D oracle的基本存储单位是表,将表存放于表空间,当有数据加入并提交时,最后将表空间的数据写入数据文件。
33. 下列哪个选项不是物理结构中的对象( )
A 数据文件 B 重做日志文件 C 表空间 D 控制文件
34. 下面哪一个不是ORACLE实例的组成部分( )
A SGA B PGA C CONTROLFILE D BGPROCESS
35. Oracle中哪个缓冲区是以循环方式写入的
A DATABASE BUFFER B SHARED BUFFER POOL
C REDOLOG BUFFER D LARGE BUFFER POOL
36. 如果一个用户的服务进程意外终止了,Oracle会使用哪一个后台进程来释放该用户所占的资源( )
A SMON B RECO C PMON D CKPT
37. 当服务进程无法在系统缓存中找到空闲空间时存放数据时,将会应用下列哪一项操作( )
A 调用DBWR将脏数据写入到数据文件
B 调用CKPT将脏数据写入到数据文件
C 调用SMON来收集存储碎片,以得到空闲空间
D 调用LGWR将数据写入到日志文件
38. 下列哪个进程不是Oracle必须的后台进程( )
A DBWR 数据写入进程
B LGWR 日志写入进程
C SMON 系统监视进程
D ARCn 日志归档进程
39. 关于模式描述不正确的是( )
A 表和视图等模式对象一定属于某一个模式
B 一个表可以同时属于多个模式
C 某些数据库对象可以不属于任何模式
D 在Oracle数据库中,用户与模式是一一对应的
40. 关于视图的说确的是( )
A 视图与表一样,也占用系统空间
B 视图实际上只是在需要时,执行它所代表的SQL语句
C 视图不用记录在数据字典中
D 视图其实就是表
41. 关于索引的说法错误的是( )
A 索引对于表来说,可有可无
B 索引是用来提高查询速度的
C 索引是用来装饰表,是表格好看一点
D 索引会影响更新的速度
42. 索引的特点( )
A 索引越多查询越快
B 索引越多查询越慢
C 索引越多更新越快
D 索引越多查询更新就越快
43. 序列的定义( )
A 序列不占用实际的存储空间
B 序列也是数据库对象,所以也占空间
C 序列占的空间较少
D 上面都不对
44. 当定义了一个序列(SEQUTEST)后,使用序列方确的是
A 直接使用SEQUTEST.CURRVAL
B 必须先使用SEQUTEST.NEXTVAL 然后才能使用 SEQUTEST.CURRVAL
C 只能使用SEQUTEST.NEXTVAL
D 必须两者一起使用
45. 什么是同义词( )
A同义词是一个模式对象的别名,通过为模式对象创建同义词,可以隐藏对象的实际名称和所有者信息
B 在数据库中两个一样意义的单词
C 给数据库对象起个别名,这样一来,可以用多种名字来引用该对象,但只能使创建该同义词的用户才能访问
D 上面都不对
46. 有一个商品表,需要为该表的id列,产生一个有序的,唯一的连续整数,应该采用以下的那种结构( )
A VIEW B SEQUENCE C SYNONYM D INDEX
47. PL/SQL代表( )
A PROCEDURAL LANGUAGE/SQL
B PROGRAM LANGUAGE SQL
C POWER LANGUAGE SQL
D 都不对
48. PL/SQL块是由哪几个部分组成
A DECLARE BEGIN END
B BEGIN END
C EXCEPTION BEGIN END
D DECLARE BEGIN EXCEPTION END
49. 当在一个PLSQL块过查询得到一个值,但是没有任何值返回时,会( )
A 不会有异常,只不过没有结果而已
B 有异常,异常为No_data_found
C 有异常,异常为Value_erro
D 编译都不通过
50. 在自定义异常中,用户可用的错误号围在
A 20000 ~ 29999 B -20000 ~ -20999 C 1~65535 D 没有限制
51. 在存储过程中,参数模式有哪些( )
A IN、OUT B IN、OUT、IN OUT C INPUT、OUTPUT D OUT INOUT
52. 存储过程和函数的区别是( )
A 过程可以返回多个值,而函数只能返回一个值
B 函数可以作为PL/SQL表达式的一部分,而过程不能
C 函数可以返回多个值,过程只能返回一个
D 函数和过程都必须包含RETURN语句
一、 SQL编程题:(每题3分,共30分)
在一个数据库中包含以下几个表:
Employee (雇员信息表)
属性名
数据类型
约束
注释
EmployeeID
char(6)
主键
雇员编号
Name
char(10)
not null
Sex
char(2)
性别
Birthday
date
出生日期
Address
char(20)
住址
PhoneNumber
char(12)
DepartmentID
char(3)
与Salary表有外键联系
部门编号
Department(部门信息表)
属性名
数据类型
约束
注释
DepartmentID
char(3)
主键
部门编号
DepartmentName
char(20)
not null
部门名
Note
char(20)
备注
Salary(雇员薪水表)
属性名
数据类型
约束
注释
EmployeeID
char(6)
主键
雇员编号
Income
Number(8,2)
not null
收入
Outcome
Number(8,2)
not null
支出
根据上述数据库的数据表,试用SQL语句写出下列操作:
1. 查询所有姓的雇员的、部门名。
2. 查询每个部门的雇员的部门名和平均收入,并按平均收入的降序排列。
3. 查询最高收入的雇员的和收入。
4. 给收入在1000元以下的雇员增加收入15%。
5. 创建Employee表的公有同义词syn_e。
6. 查询工资大于1000元的雇员的和工资。(使用替换变量,并预定义替换变量的值为1000,在SQL语句中使用替换变量)
7. 创建序列Seq_d,初始值为001,每次递增1,最大到100。
8. 在Salary表的支出上创建一个降序排列的索引IX_outcome。
9. 创建一个视图E_view,显示“销售部”的雇员的和家庭住址。
10. 使用替代变量输入部门编号,删除该部门的信息,并处理可能出现的错误。如果成功删除,则显示“该部门被删除”;如果该部门不存在,则显示消息“部门不存在”;如果违反完整性约束,则显示消息“该部门有员工不能删除”。
11 / 11
展开阅读全文