选择题
1、Oracle 中下列哪个表达式值为 true?(D)
A、null = null
B、’’ = null
C、0 = null
D、以上三个都不为 true
2、事务的一致性是指(B)
A 事务中包括的所有操作要么都做,要么都不做
B 事务必须是数据库从一个一致性状态变到另一个一致性状态
C 事务一旦提交,对数据库的改变是永久的
D 一个事务内部的操作及使用的数据对并发的其他事务是隔
3、带有(B)字句的SELECT语句可以在表的一行或多行放置排他锁
A FOR INSERT
B FOR UPDATE
C FOR DELETE
D FOR REFRESH
4、下列对 Oracle 索引的说法正确的是?(AD)
A、索引在 Oracle 中通过 B+ 树存储
B、Oracle 只支持全局索引
C、Oracle 不支持分区索引
D、索引可以提高表的访问速度
5、在ORACLE数据库运行下列哪个group by查询时会产生错误?(C)
A select deptno, job, sum(sal) from emp group by job, deptno
B select sum(sal), deptno, job from emp group by job, deptno
C select deptno, job, sum(sal) from emp
D select deptno, sum(sal), job from emp group by job, deptno
6、下面哪几种操作属于DDL(A)
A TRUNCATE
B SELECT
C UPDATE
D INSERT
7、Oracle 支持的表分区类型为?(ABD)
A、List
B、Range
C、HashMap
D、复合分区
8、存储过程是存储在数据库中的代码,具有很多优点。下列陈述中不属于存储过程优点的是(B)
A 可通过预编译机制提高数据操作的性能
B 可方便地按用户视图表达数据
C 可减少客户端和服务器端的网络流量
9、Oracle数据库中,通过()访问能够以最快的方式访问表中的一行(B)
A 主键
B Rowid
C 唯一索引
D 全表扫描
10、下列关于NULL的描述中,正确的是(ABC)
A 当实际值是未知或没有任何意义时,可以使用NULL来表示它
B 不要使用NULL来代表0,两者是不同的
C 不要使用NULL来代替空格,两个是不同的
D 算术表达式1000 + null结果等于1000
11、创建表T1,并使得表中EMPLOYID字段值非空且唯一的SQL语句是下列哪一个?(D)
A CREATE TABLE T1(EMPLOYID IN TEGER)
B CREATE TABLET1(EMPLOYID UNIQUE INTEGER)
C CREATE TABLET1(EMPLOYID IN TEGER NOT NULL)
D CREATE TABLET1(EMPLOYID INTEGER,PRIMARY KEY(EMPLOYID)
12、对于 Oracle 存储过程和函数下列说法错误的是?(CD)
A、函数总是向调用者返回数据,并且一般只返回一个值
B、存储过程不直接返回数据,但可以改变输出参数的值
C、存储过程必须带有输出参数
D、函数不能定义输出参数
13、在Oracle中,执行下面的语句:
SELECT ceil(-97.342),
floor(-97.342),
round(-97.342),
trunc(-97.342)
FROM dual;
哪个函数的返回值不等于-97(B)
A ceil()
B floor()
C round()
D trunc()
14、下列关于Oralce索引的说法错误的是?(BC)
A 索引可以提升查询,分组和排序的性能。
B 为了提高查询性能,可以增加尽量多的索引。
C 使用索引一定比使用全表扫描效率更高。
D 对于数据量很少的表可以不使用索引。
15、数据库中的对象包括?(ACD)
A、表
B、权限
C、视图
D、存储过程
16、针对上题的表,如果需要对该表统计客户数量,下列说法正确的是(BC)
A 使用count(custno)进行统计,统计结果不包含客户号重复的记录,但包含客户号为NULL的记录。
B 使用count(*)进行统计,统计结果包含客户号重复的记录,也包含客户号为NULL的记录。
C 使用count(distinct custno)进行统计,统计结果不包含客户号重复的记录,也不包含客户号为NULL的记录。
D 使用count(distinct custno)进行统计,统计结果不包含客户号重复的记录,但包含客户号为NULL的记录。
17、对数据库第二范式的理解,正确的是(C)
A 数据库表的每一列都是不可分割的原子数据项
B 在1NF基础上,任何非主属性不依赖于其它非主属性
C 在1NF基础上,非码属性必须完全依赖于码
D 以上说法都不正确
18、对于 Oracle 存储过程和函数下列说法错误的是?(CD)
A、函数总是向调用者返回数据,并且一般只返回一个值
B、存储过程不直接返回数据,但可以改变输出参数的值
C、存储过程必须带有输出参数
D、函数不能定义输出参数
19、以下哪个语句可能用上索引©
A =NULL
B IS NULL
C IS NOT NULL
20、表T有如下索引INDEX(A,B,C),请问如下查询哪些可能使用该索引(ABC)
A T.A=1 AND T.B=2 AND T.C=3
B T.A=1 AND T.B=2
C T.B=2 AND T.C=3
主观问答题
1、找出一个字符串中含有多少个a字符
例如:写一段SQL判断字符串“accumulate”中有多少个“a”字符。
2、假设在ORACLE数据库存在表 T_EFUND_EMPLOYEE
(S_ID VARCHAR2(10),
S_NAME VARCHAR2(30),
N_AGE NUMBER,
S_PHONE VARCAHR2(15)
)
请写一段分页查询代码,按照年龄降序返回员工列表
3、如何判断用户的最长连续活跃天数
例如:写一段SQL判断用户2021年5月连续访问淘宝网站的最大天数。
源表表名:page_view
源表字段:user_id代表用户ID,visit_time代表访问时间(格式:yyyy-MM-dd HH:mm:ss),site_type代表网站类型
4、 请用PL/SQL编程实现一个字符串拆分函数。
函数及返回值类型定义如下:
type arrytype is table of varchar2(4000);
function func_split(i_SourceStr in varchar2, i_Separator in varchar2)return arrytype;。
其中:
1) i_SourceStr:待拆字符串
2) i_Separator:分隔符
实现按照指定的分割符串拆分字符的功能。
版权归原作者 高坂桐乃丶 所有, 如有侵权,请联系我们删除。