09Oracle基础练习题09.docx
《09Oracle基础练习题09.docx》由会员分享,可在线阅读,更多相关《09Oracle基础练习题09.docx(22页珍藏版)》请在冰豆网上搜索。
09Oracle基础练习题09
[单选题]
1.下面哪个系统预定义角色允许一个用户创建其他用户?
()
A、CONNECT
B、DBA
C、RESOURCE
D、SYSDBA
答案:
B
2.在创建表空间时,可以指定表空间中存储对象的默认存储参数,其中()参数用于设置分配给每一个对象的初始区大小。
()
A、INITIAL
B、NEXT
C、PCTINCREASE
D、MINEXTENTS
答案:
A
3.把一个表空间切换到OFFLINE状态时,可以使用4个参数,不包括下列哪一个选项?
()
A、IMMEDIATE
B、NORMAL
C、TEMPORARY
D、FORCE
答案:
D
4.建立一张表插入1行记录,之后使用exp导出数据,再次给表插入2行数据,之后把表格删除,重新使用imp命令导入导出的数据,导入后表中有()条记录。
A、0
B、1
C、2
D、3
答案:
B
5.将数据库启动到装载状态的命令()
A、startup
B、startupnomount
C、startupmount
D、startupopen
答案:
C
6.使用shutdown命令关闭数据库,发生的次序是()
A、先关闭实例进程
B、先关闭数据库
C、先卸载数据库
D、没有先后次序
答案:
B
7.执行shutdowntransactional命令,下列正确的是()
A、数据库仍然允许新的用户连接
B、数据库马上关闭
C、等待当前所有会话结束后关闭
D、如果没有执行中的数据库事物,即马上关闭
答案:
D
8.服务器断电,发生的现象是哪一个?
()
A、数据缓冲区的修改写入数据库
B、没有提交的事物自动撤销
C、数据文件、控制文件和日志文件处于不一致状态
D、下次启动,需要进行手工恢复
答案:
B
9.用户SCOTT正在执行UPDATE语句,需要保证SCOTT的修改操作完成,理想的关闭实例方式是()
A、SHUTDOWNABORT
B、SHUTDOWNIMMEDIATE
C、SHUTDOWNTRANSACTIONAL
D、SHUTDOWNNORMAL
答案:
D
10.以下创建表空间的正确语句是:
()
A、CREATETABLESPACE"TABLESPACENAME"
LOGGING
DATAFILE'/home/oracle/app/oracle/oradata/orcl/EVCHGJ4.dbf'
SIZE5M
B、CREATETABLESPACE"EVCHGJ4"
LOGGING
DATAFILE'/home/oracle/app/oracle/oradata/orcl/EVCHGJ4.dbf'
C、CREATETABLESPACE"EVCHGJ4"
LOGGING
SIZE5M
D、CREATETABLESPACE"EVCHGJ4"
DATAFILE'/home/oracle/app/oracle/oradata/orcl/EVCHGJ4.dbf'
SIZE5M
答案:
D
11.传统的Oracle数据库系统特权不包括。
()
A、DROP
B、CONNECT
C、RESOURCE
D、SELECTANYTABLE
答案:
C
12.下列哪个语句能够会滚到特定地方。
()
A、UPDATE、..
SAVEPOINTupdate_done;
Savepointcreated.
INSERT...
ROLLBACKTOupdate_done;
B、commit
C、committoupdate_done;
D、rollback;
答案:
D
13.启动数据库的命令()。
A、startup
B、startupopen
C、shutdown
D、startupdatabase
答案:
A
14.()是启动数据库时用来记录数据文件、联机日志文件的相关信息的二进制文件。
A、数据文件
B、参数文件
C、控制文件
D、归档文件
答案:
C
15.你需要在表SALES里查找一些产品明细,其中PROD_ID列包括字符'_D123'。
()
WHERE子句条件能得到这些相符产品。
A、WHEREprod_idLIKE'%_D123%'ESCAPE'_'
B、WHEREprod_idLIKE'%\_D123%'ESCAPE'\'
C、WHEREprod_idLIKE'%_D123%'ESCAPE'%_'
D、WHEREprod_idLIKE'%\_D123%'ESCAPE'\_'
答案:
B
16.关于单行函数,哪一个描述是正确的?
()
A、他们只能接受一个参数。
B、他们只能嵌套两层。
C、参数只能是字段值或常量。
D、他们始终为查找表中的每个行返回一个值。
答案:
D
17.在表emp里,计算员工的年薪SAL*12并生成别名AnnualSalary。
()
A、SELECTename,sal*12,AnnualSalaryFROMemp;
B、SELECTename,sal*12"AnnualSalary"FROMemp;
C、SELECTename,sal*12ASAnnualSalaryFROMemp;
D、SELECTename,sql*12ASINICTAP("AnnualSalary")FROMemp;
答案:
B
18.查看promotion(促销表),每个促销周期为7天。
你的经理要你生成一个报表,提供每周的促销成本。
()
A、SELECTpromo_name,promo_cost/promo_end_date-promo_begin_date/7FROM
promotions;
B、SELECTpromo_name,(promo_cost/promo_end_date-promo_begin_datE、/7FROM
promotions;
C、SELECTpromo_name,promo_cost/(promo_end_date-promo_begin_date/7)FROM
promotions;
D、SELECTpromo_name,promo_cost/((promo_end_date-promo_begin_datE、/7)FROM
promotions;
答案:
D
19.你需要为每个客户的信息额度增加$1000。
在输出时,客户的lastname列头应为Name,cust_credit_limit的列头为NewCreditLimit。
()
A、SELECTcust_last_nameName,cust_credit_limit+1000
"NewCreditLimit"
FROMcustomers;
B、SELECTcust_last_nameASName,cust_credit_limit+1000
ASNewCreditLimit
FROMcustomers;
C、SELECTcust_last_nameAS"Name",cust_credit_limit+1000
AS"NewCreditLimit"
FROMcustomers;
D、SELECTINITCAP(cust_last_namE、"Name",cust_credit_limit+1000INITCAP("NEW
CREDITLIMIT")FROMcustomers;
答案:
C
20.下面查询:
SQL>SELECTcust_nameAS"NAME",cust_credit_limit/2AS
MIDPOINT,MIDPOINT+100AS"MAXLOWERLIMIT"
FROMcustomers;
上面查询在执行时发生错误,这个错误的原因是什么?
()
A、一个别名不能使用在表达式中。
B、一个别名NAME没有一个隔开的双引号。
C、MIDPOINT+100是错误的因为CUST_CREDIT_LIMIT包含了NULL值。
D、为CUST_CREDIT_LIMIT/2表达式取一个别名MIDPOINT应用双引号隔开。
答案:
A
21.你想去生成一个报表显示每个员工从入职以来的总的薪金。
你执行下列查询:
SQL>SELECTename'joinedon'hiredate
',thetotalcompensationpaidis'
TO_CHAR(ROUND(ROUND(SYSDATE-hiredatE、/365)*sal+comm)
"COMPENSATIONUNTILDATE"
FROMemployees;
输出结果:
哪个说法是正确的?
()
A、此查询执行错误是因为别名无效的。
B、此查询能正确执行并得到正确的结果。
C、此查询能正确执行但不能得到正确结果。
D、此查询执行错误是因为ROUND函数是无效的。
答案:
C
22.当你执行下列查询:
SQL>selecte.empno,e.ename,d.loc
2fromempe,deptd
3wheree.deptno=d.deptno
4andsubstr(e.ename,1,1)=‘S’;
下列哪个语句是Oracle数据库中可用的ANSI兼容等价语句?
()
A、selectempno,ename,locfromempjoindeptonemp.deptno=dept.deptnowhere
substr(emp.ename,1,1)=‘S’;
B、selectempno,ename,locfromemp,deptonemp.deptno=dept.deptnowhere
substr(emp.ename,1,1)=‘S’;
C、selectempno,ename,locfromempjoindeptwhereemp.deptno=dept.deptnoand
substr(emp.ename,1,1)=‘S’;
D、selectempno,ename,locfromempleftjoindeptonemp.deptno=dept.deptnoand
substr(emp.ename,1,1)=‘S’;
答案:
A
23.你要操纵Oracle数据,下列哪个不是SQL命令?
()
A、select*fromdual;
B、setdefine
C、updateempsetename=6543whereename=‘SMITHERS’;
D、createtableemployees(empidvarchar2(10)primarykey);
答案:
B
24.查看下面PROMOTIONS表结构:
nameNullType
PROMO_IDNOTNULLNUMBER(6)
PROMO_NAMENOTNULLVARCHAR2(30)
PROMO_CATEGORYNOTNULLVARCHAR2(30)
PROMO_COSTNOTNULLNUMBER(10,2
管理层想看到每种促销种类的唯一促销成本。
下面哪个查询得到需要的结果?
()
A、SELECTDISTINCTpromo_cost,promo_categoryFROMpromotions;
B、SELECTpromo_category,DISTINCTpromo_costFROMpromotions;
C、SELECTDISTINCTpromo_cost,DISTINCTpromo_categoryFROMpromotions;
D、SELECTDISTINCTpromo_category,promo_costFROMpromotionsORDERBY1;
答案:
D
25.下列哪个CREATETABLE语法是有效的?
()
A、CREATETABLEemp9$#(emp_noNUMBER4));
B、CREATETABLE9emp$#(emp_noNUMBER4));
C、CREATETABLEemp*123(emp_noNUMBER4));
D、CREATETABLEemp9$#(emp_noNUMBER4),dateDATE、;
答案:
A
26.评估下列CREATETABLE命令:
CREATETABLEorders
(ord_noNUMBER2)CONSTRAINTord_pkPRIMARYKEY,
ord_dateDATE,
cust_idNUMBER4));
CREATETABLEord_items
(ord_noNUMBER2),
item_noNUMBER3),
qtyNUMBER3)CHECK(qtyBETWEEN100AND200),
expiry_datedateCHECK(expiry_date>SYSDATE、,
CONSTRAINTit_pkPRIMARYKEY(ord_no,item_no),
CONSTRAINTord_fkFOREIGNKEY(ord_no)REFERENCESorders(ord_no));
当执行上述命令时失败,原因是什么?
()
A、SYSDATE不能用于CHECK约束。
B、BETWEEN子句不能用于CHECK约束。
C、CHECK约束不能放在具有DATE数据类型的列。
D、ORD_NO和ITEM_NO不能用于复合主键因为ORD_NO也是外键。
答案:
A
27.哪个CREATETABLE语法是有效的?
()
A、CREATETABLEord_details
(ord_noNUMBER2)PRIMARYKEY,
item_noNUMBER3)PRIMARYKEY,
ord_dateDATENOTNULL);
B、CREATETABLEord_details
(ord_noNUMBER2)UNIQUE,NOTNULL,
item_noNUMBER3),
ord_dateDATEDEFAULTSYSDATENOTNULL);
C、CREATETABLEord_details
(ord_noNUMBER2),
item_noNUMBER3),
ord_dateDATEDEFAULTNOTNULL,
CONSTRAINTord_uqUNIQUE(ord_no),
CONSTRAINTord_pkPRIMARYKEY(ord_no));
D、CREATETABLEord_details
(ord_noNUMBER2),
item_noNUMBER3),
ord_dateDATEDEFAULTSYSDATENOTNULL,
CONSTRAINTord_pkPRIMARYKEY(ord_no,item_no));
答案:
D
28.检查下列CREATESEQUENCE语法:
CREATESEQUENCEseq1
STARTWITH100
INCREMENTBY10
MAXVALUE200
CYCLE
NOCACHE;
当SEQ1序列生成到最大值为200。
你执行下列SQL语法:
SELECTseq1.nextvalFROMdual;
此SELECT语法显示什么?
()
A、1
B、10
C、100
D、出现错误
答案:
A
29.检查下列SQL语法:
用PRODUCTS表,你需要生成名字,当前价格列表,及打折扣25%后小于$10的所有的这
些产品。
SQL>SELECTprod_name,prod_list_price,
prod_list_price-(prod_list_price*.25)"DISCOUNTED_PRICE"
FROMproducts
WHEREdiscounted_price<10;
此查询执行时发生一个错误。
此错误的原因是什么?
()
A、括号应包含整个表达式。
B、双引号应该从列别名被删除。
C、在WHERE子句的表达式应被替换。
D、列别名应为大写且在WHERE子句中用双引号括起来。
答案:
C
30.查看表PROMOTIONS表,PROMO_BEGIN_DATE是存储默认的日期,格式为dd-mon-rr.
你需要查看一个报表包括表promos所有的name,cost,startdate。
你能用哪个语法显示下列内容?
()
A、SELECTpromo_name,promo_cost,promo_begin_date
FROMpromotions
WHEREpromo_category='post'ANDpromo_begin_date<'01-01-00';
B、SELECTpromo_name,promo_cost,promo_begin_date
FROMpromotions
WHEREpromo_costLIKE'post%'ANDpromo_begin_date<'01-01-2000';
C、SELECTpromo_name,promo_cost,promo_begin_date
FROMpromotions
WHEREpromo_categoryLIKE'P%'ANDpromo_begin_date<'1-JANUARY-00';
D、SELECTpromo_name,promo_cost,promo_begin_date
FROMpromotions
WHEREpromo_categoryLIKE'%post%'ANDpromo_begin_date<'1-JAN-00';
答案:
D
31.查看PROMOTIONS表结构,你需要生成符合
1.促销名不能以'T'或'N'开头。
2.促销成本应大于$2000。
3.促销结束时间大于2001年1月1日。
哪个WHERE子句能得到正确的结果?
()
A、WHEREpromo_nameNOTLIKE'T%'ORpromo_nameNOTLIKE'N%'
ANDpromo_cost>20000ANDpromo_end_date>'1-JAN-01'
B、WHERE(promo_nameNOTLIKE'T%'ANDpromo_nameNOTLIKE'N%')
ORpromo_cost>20000ORpromo_end_date>'1-JAN-01'
C、WHEREpromo_nameNOTLIKE'T%'ANDpromo_nameNOTLIKE'N%'
ANDpromo_cost>20000ANDpromo_end_date>'1-JAN-01'
D、WHERE(promo_nameNOTLIKE'%T%'ORpromo_nameNOTLIKE'%N%')
AND(promo_cost>20000ANDpromo_end_date>'1-JAN-01')
答案:
C
32.查看表PROMOTIONS中的PROMO_CATEGORY和PROMO_COST字段,检查下列
查询语句:
SQL>SELECTDISTINCTpromo_categoryto_char(promo_cost)"code"
FROMpromotions
ORDERBYcode;
SQL>SELECTDISTINCTpromo_categorypromo_cost"code"
FROMpromotions
ORDERBY1;
上述SQL语句说法是正确的是?
()
A、只有第一个查询执行成功.
B、只有第二个查询执行成功.
C、两个查询执行成功但得到不同的结果。
butgivedifferentresults.
D、两个查询执行成功但得到相同的结
答案:
B
33.查看表CUSTOMERS,你需要生成一个报表显示客户的明细并按城市降序排序和收入
水平由高到底排序。
哪个查询能完成这个任务?
()
A、SELECTcust_city,cust_income_level,cust_last_name
FROMcustomers
ORDERBYcust_citydesc,cust_income_levelDESC;
B、SELECTcust_city,cust_income_level,cust_last_name
FROMcustomers
ORDERBYcust_income_leveldesc,cust_cityDESC;
C、SELECTcust_city,cust_income_level,cust_last_name
FROMcustomers
ORDERBY(cust_city,cust_income_level)DESC;
D、SELECTcust_city,cust_income_level,cust_last_name
FROMcustomers
ORDERBYcust_city,cust_income_levelDESC;
答案:
A
34.在表PRODUCTS中有下列数据:
PROD_IDPROD_LIST_PRICE
---------------------------------------------
-123456152525.99
你执行下列查询:
SQL>SELECTRPAD((ROUND(prod_list_pricE、),10,'*')
FROMproducts
WHEREprod_id=123456;
输出的结果正确的是()?
A、152526****
B、**152525.99
C、152525****
D、anerrormessage
答案:
A
35.在表CUSTOMER中你需要显示firstname中包括'e'字符且最后第二个字符是'a'的所有
的客户。
下列哪个能得到需要的结果?
()
A、SELECTcust_first_name
FROMcustomers
WHEREINSTR(cust_first_nam