Oracle笔试题参考答案Word下载.docx
《Oracle笔试题参考答案Word下载.docx》由会员分享,可在线阅读,更多相关《Oracle笔试题参考答案Word下载.docx(27页珍藏版)》请在冰点文库上搜索。
A、updateuserscottaccountunlock;
B、alteruserscottaccountunlock;
C、alteruserscottunlock;
9.having
where,groupby的正确执行顺序是()
A、having,where,groupby
B、groupby,having,where
C、where,having,groupby
D、where,groupby,having
10.分析下面两个SQL语句,选项中说法正确的有()
SELECT
last_name,
salary
hire_date
FROM
EMPLOYEES
ORDER
BY
DESC;
2
A、两个SQL语句的结果完全相同
B、第二个SQL语句产生语法错误
C、没有必要指定排序方式为desc,因为默认的排序方式是降序排序
D、可以通过为第二个SQL语句的salary列添加列别名来使两个SQL语句得到相同的结果
注意:
Orderbygroupby后跟数字,代表select后的字段的位置
11.数据库设计中用关系模型表示实体和实体之间的联系。
关系模型的结构是()。
A、层次结构
B、二维表结构
C、网状结构
D、封装结构
12哪个SQL语句生成计算列SALARY*12的别名—年薪?
()
A、
ename,
salary*12
'
Annual
Salary'
employees;
B、
"
Salary"
C、
AS
Salary
D、
INITCAP("
ANNUAL
SALARY"
)
employees
别名中间有空格必须双引号
函数INITCAP()是将每个单词的第一个字母大写,其它字母变为小写返回.
单词由空格,控制字符,标点符号等非字母符号限制.
13.并发操作会带来哪些数据不一致性?
A、丢失修改、不可重复读、读脏数据、死锁
B、不可重复读、读脏数据、死锁
C、丢失修改、读脏数据、死锁
D、丢失修改、不可重复读、读脏数据
14.对于满足SQL92标准的SQL语句:
SELECTfoo,count(foo)FROMpokesWHEREfoo>
10GROUPBYfooHAVINGORDERBYfoo,其执行的顺序应该为()。
A、FROM->
WHERE->
GROUPBY->
HAVING->
SELECT->
ORDERBY
B、FROM->
C、FROM->
ORDERBY->
SELECT
D、FROM->
15.使用哪个SELECT语句从系统日期中提取年份并以“1998”格式显示?
TO_CHAR(SYSDATE,'
yyyy'
dual;
TO_DATE(SYSDATE,'
DECODE(SUBSTR(SYSDATE,
8),
YYYY'
year'
E、
TO_CHAR(SUBSTR(SYSDATE,
8,2),'
16.观察下表(EMP)下列SQLSQL语句正确的是()
oracle
两个时间相减默认的是天数HIREDATE+10是加10天
To_date()第一个参数是字符串类型
To_char()第一个参数是日期类型
ENAME,to_date(SYSDATE-HIREDATE,'
yyyy-mm-dd'
)
EMP;
ENAME,to_date(HIREDATE+10,'
ENAME,to_char(HIREDATE-10,'
ENAME,to_char(SYSDATE-HIREDATE,'
17.观察下表(EMP),本月老板要在所有员工原有奖金的基础上多发500元的奖金,查询出所有员工姓名以及他的奖金,下列SQL语句能够满足该需求的是()
1、nvl(value1,value2)
这个函数的意思是如果value1的值为null,那么函数返回value2的值
如果value1不为空,那么就返回value1的值。
2、nvl2(value1,value2,value3)
这个函数的意思是如果value1的值为null函数返回value3
否则函数返回value2
也就是说函数永远不会返回value1
ENAME,COMM+500
ENAME,NVL(COMM,0)+500
ENAME,NVL(COMM+500,0)
ENAME,NVL2(COMM,0)+500
18.客表(customers)中有一存储顾客姓名的字段(customerName),现在想显示"
欢迎customerName光临小店"
的字样,下列SQL语句能够满足该需求的是()
欢迎"
||customerName||"
光临小店"
customers;
欢迎'
||customerName||'
光临小店'
|customerName|'
|customerName|"
19.Whichstatementshowsthemaximumsalarypaidineachjobcategoryofeachdepartment?
(
A、Selectdept_id,job_cat,max(salary)fromemployeeswheresalary>
max(salary);
B、Selectdept_id,job_cat,max(salary)fromemployeesgroupbydept_id,job_cat;
C、Selectdept_id,job_cat,max(salary)fromemployeesgroupbydept_id;
D、Selectdept_id,job_cat,max(salary)fromemployeesgroupbydept_id,job_cat,salary;
20.关于右外连接查询的说法不正确的是()
A、两表进行右外连接查询和左外连接查询查询出的结果都是一样的
B、右外连接查询是以右侧的表为主表
C、右外连接查询可以和左外连接查询相互转换
D、右外连接查询查询时右表中的记录会全部显示
21.观察employees表的表结构,经理要求你创建一个视图EMP_VU,该视图允许用户通过视图向表中插入数据,选项中符合要求的是()
CREATE
VIEW
emp_vu
AS
employee_id,
emp_name,
department_id
WHERE
mgr_id
IN
(102,
120);
emp_name,
job_id,
department_id,
SUM(sal)
TOTALSAL
120)
GROUP
department_id;
DISTINCT
22.观察customers表的表结构,其中CUSTOMER_ID是表的主键。
下列哪个选项能够查询出“LosAngeles”和“SanFrancisco”的城市地址(city_address),以及每个城市里顾客的数量()
city_address,
COUNT(*)
customers
city_address
('
Los
Angeles'
San
Francisco'
);
city_address;
COUNT(customer_id)
customer_id;
23.执行下列SQL语句的集合,下列选项正确的是()
TABLE
dept(deptno
NUMBER
(2),dname
VARCHAR2(14),
loc
VARCHAR2(13));
ROLLBACK;
DESCRIBE
DEPT
A、DESCRIBEDEPT语句显示DEPT表的结构。
B、ROLLBACK语句释放DEPT表占用的存储空间。
C、DESCRIBEDEPT语句返回错误ORA-04043:
objectDEPT不存在。
D、DESCRIBEDEPT语句仅在ROLLBACK语句之前引入了COMMIT语句时才显示DEPT表的结构。
24.在PL/SQL代码段的异常处理块中,捕获所有异常的关键词是______。
A、OTHERSB、ALLC、ExceptionD、ERRORS
常见的预定义异常
ZERO_DIVIDE:
除数等于零
DUP_VAL_ON_INDEX:
违反唯一性约束
SYS_INVALID_ID:
无效的ROWID字符串
TIMEOUT_ON_RESOURCE:
Oracle在等待资源时超时
others可以代表所有异常
声明
业务处理
异常处理
25.关于关系范式的规范化,下列说法正确的是()
A、数据库系统中的关系所属范式越高越好,因为所属范式越高,存储表所占内存开销越小
B、数据库系统中的关系所属范式越低越好
C、一般对表分解到3NF即可
D、不能对表只分解到2NF
26.关于序列的说法正确的是()
A、一旦创建,序列属于特定模式(schema)。
B、一旦创建,序列链接到特定的表。
C、一旦创建,序列将自动提供给所有用户。
D、只有DBA可以控制某个表使用哪个序列。
E、一旦创建,序列将自动在所有INSERT和UPDATE语句中使用。
27、PL/SQL中,要引用表中字段的数据类型,应使用()
A.%rowtype
B.%found
C.%type
D.%rowcount
28.下面哪个SQL命令用来向表中添加列()
A、MODIFYTABLETableNameADDCOLUMNColumnName
B、MODIFYTABLETableNameADDColumnName
C、ALTERTABLETableNameADDCOLUMNColumnName
D、ALTERTABLETableNameADDColumnNameType
ALTERTABLE<
表名>
[ADD[COLUMN]<
新列名>
<
数据类型>
[完整性约束]]
[ADD<
表级完整性约束>
]
[DROP[COLUMN]<
列名>
[CASCADE|RESTRICT]]
[DROPCONSTRAINT<
完整性约束名>
[ALTER
COLUMN
CASCADE:
级联操作
RESTRICT:
默认,如果子表中有匹配的记录,则不允许对父表对应候选键进行update/delete操作
29.一辆汽车由多个零部件组成,且相同的零部件可适用于不同型号的汽车,则汽车实体集与零部件实体集之间的联系是()?
A、1:
M
B、1:
1
C、M:
D、M:
N
30.当删除一个用户的操作时,在什么情况下,应该在DROPUSER语句中使用CASCADE(级联)选项?
A.这个模式包含了对象
B.这个模式没有包含了对象
C.这个用户目前与数据库连接着
D.这个用户必须保留但是用户的对象需要删除
如果要删除的(用户)模式包括了对象,要在DROPLISER语句中使用CASCADE子句来删除模式中的所有对象
不能删除当前正在与Oracle服务器相连的用户
当一个用户被删除之后,该用户中的所有对象也都会从系统中消失
31.要截断(TRUNCATE)其他用户拥有的一个表,需要哪一个权限?
()
A.ALTERTABLEB.DROPANYTABLEC.DELETEANYTABLED.TRUNCATEANYTABLE
TRUNCATE清空表中数据,速度快,不可回滚
Delete删除表中数据,可以回滚
32.利用PL/SQL语句将”数据库原理”课程的学分赋值给变量的语句是()
A、selectxuefeninto@xuefenfromcoursewherecname=’数据库原理’
B、selectxuefenfromcoursewherecname=’数据库原理’andxuefen=@xuefen
C、select@xuefen=xuefenfromcoursewherecname=’数据库原理’
D、selectxuefen=@xuefenfromcoursewherecname=’数据库原理’
33.如下SQL语句中,____可能返回null值。
(1)selectcount(*)fromt1;
(2)selectmax(col1)fromt1;
(3)selectconcat(‘max=’,max(col1))fromt1;
A、
(1)可能,
(2)和(3)不可能
B、
(2)可能,
(1)和(3)不可能
C、(3)可能,
(1)和
(2)不可能
D、
(1)不可能,
(2)和(3)可能
此题Oracle选B,如果是Oracle外的MySQL等则选D。
因MySQL数中有空则结果空。
Count(*)不可能返回空值,即使一条记录都没有,返回0;
如果表中没有记录),max(coll)返回空;
(3)中就算max(coll)返回null,也仍将剩余“max=”。
34.下面有关tablespace和datafile之间的关系的描述,说法错误的是?
A、一个tablespace可以有一个或多个datafile
B、每个datafile只能在一个tablespace内
C、table中的数据,通过hash算法分布在tablespace中的各个datafile中
D、datafile是逻辑上的概念,tablespace则在物理上储存了数据库的种种
解析:
datafile是物理上的概念,tablespace则在逻辑上储存了数据库的种种
selectnamefromv$datafile;
//查看数据文件
F:
\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
selectnamefromv$controlfile;
selectmemberfromv$logfile;
35.视图定义是()
A.一个基表中导出的基表
B.一个基表中导出的虚表
C.一个或几个基表或视图中导出的基表
D.一个或几个基表或视图中导出的虚表
36.下面有关索引的描述正确的是()
A.不可以在多个列上创建复合索引。
B.可以在多个列上创建复合索引。
C.索引列中的数据不能重复出现。
D.索引列中的数据必须是数值型。
37.如果希望更新表authors中的first_name列为非空,那么可以使用哪个语句?
A.altertableauthorsaddfirst_namenotnull
B.altertableauthorsmodifyfirst_namenotnull
C.altertableauthorsalterfirst_namenotnull
D.altertableauthorsdropfirst_namenotnull
38.下列哪一个命令可以将一个文件的备份还原到数据库原目录中?
A.RECOVERB.BACKUPC.COPYD.RESTORE
39.下列哪一个命令可以用来执行不完全恢复?
A.RESTOREDATABASEUNTIL
B.RECOVERDATABASEUNTIL
C.RECOVERDATAUNTIL
D.RESTOREDATAUNTIL
40.观察下表(EMP)需要查询出奖金(COMM)为空,正确的SQL语句是()
*
EMP
COMM
=
NULL;
IS
0;
二、多选题(每题3分*20=60分)
1、Oracle的数据库由()类型的文件组成()
A、日志文件
B、控制文件
C、数据文件
D、配置文件
2.在哪种情况下,会用到外连接查询?
(请选出两项)
A、要连接的表具有NOTNULL列
B、要连接的表只有匹配的数据
C、要连接的列具有NULL值
D、要连接的表只有不匹配的数据
E、要连接的表具有匹配和不匹配的数据
F、仅当表具有主键-外键关系时
3.关于where和having子句说法正确的有?
A、WHERE子句可用于限制行和组。
B、WHERE子句只能用于限制行。
C、HAVING子句可用于限制行和组。
D、HAVING子句只能用于限制组。
E、如果查询使用HAVING子句,则不能在查询中使用WHERE子句。
F、HAVING子句不能在子查询中使用。
4.关于子查询下列叙述正确的有?
(请选出三项)
A、单行子查询只能检索一个列和一行
B、单行子查询只能检索一行,但能检索许多列
C、多行子查询可以检索多行、多列
D、多行子查询结果可以被用来作为>
”运算符的比较项
E、单行子查询可以使用IN运算符
F、多行子查询结果可以使用“=”来和别的值比较
5.观察下表(EMP)
经理要求你查询出所有员工的姓名和工资,查询结果按工资降序排序,相同工资的按姓名升序排序,能够完成该需求的是?
ENAME,SAL
2