Oracle数据库基础测试答案.docx
《Oracle数据库基础测试答案.docx》由会员分享,可在线阅读,更多相关《Oracle数据库基础测试答案.docx(20页珍藏版)》请在冰点文库上搜索。
![Oracle数据库基础测试答案.docx](https://file1.bingdoc.com/fileroot1/2023-6/27/397ba0b0-28ff-404d-bb23-4004b698ee61/397ba0b0-28ff-404d-bb23-4004b698ee611.gif)
Oracle数据库基础测试答案
2017年Oracle数据库根底测试答案
成绩
一、单项选择题〔每题1分,共60分〕
1.列出EMP表中,从事每个工种(JOB)的员工人数
A.selectjobfromemp;
B.selectjob,count(*)fromemp;
C.selectdistinctjob,count(*)fromemp;
D.selectjob,count(*)fromempgroupbyjob;
2.查询EMP表中的数据并且显示出行号(从1开场)
A.selectrowid,a.*fromempa;
B.selectlevel,a.*fromempa;
C.selectrownum,a.*fromempa;
D.selectsequence,a.*fromempa;
3.Oracle数据库中发出一个查询。
以下哪个选项不能查询对用户定义静态表达式执行数学运算时的查询组件?
A.列子句B.表子句C.DUAL表D.where子句
4.你要操纵Oracle数据,以下哪个不是SQL命令?
A.select*fromdual;B.setdefine
C.updateempsetename=6543whereename=‘SMITHERS’;
D.createtableemployees(empidvarchar2(10)primarykey);
5.你要在Oracle中定义SQL查询。
以下哪个数据库对象不能直接从select语句中引用?
A.表B.序列C.索引D.视图
6.你要根据PRODUCT_NAME列从PROFITS表查询中过滤返回的数据。
以下哪个子句包含相应过滤条件的引用?
A.selectB.fromC.whereD.having
7.以下代码显示了PROFITS表输出的局部:
PRODUCT_NAMEPRODUCT_TYPEQTR_END_DATEPROFIT
-------------------------------------------------
BARNEYDOLLTOY31-MAR-20016575430.30
GASGRILLAPP31-MAR-20011234023.88
PENCILOFFICE30-JUN-200134039.99
以下查询的where子句哪个能正确计算2001年1月1日到6月1日六个月销售的所有家电总利润?
A.whereproduct_name=‘GASGRILL’andqtr_end_datebetween’01-JAN-2001’and‘01-JUN-2001’;
B.whereproeuct_type=‘APPLIANCE’andname=‘GASGRILL’andqtr_end_date=’31-JAN-2001’or‘30-JUN-2001’;
C.whereproeuct_type=‘APPLIANCE’andqtr_end_datebetween’01-JAN-2001’and’01-JUN-2001;
D.whereproeuct_name=‘GASGRILL’andqtr_end_date=’01-JAN-2001’or‘01-JUN-2001’;
用以下代码所示的容答复后面八个问题:
EMPNOENAMEJOBMGRHIREDATESALMDEPTNO
----------------------------------------------------
7369SIMTHCLERK790217-DEC-8080020
7499ALLENSALESMAN769820-FEB-81160030030
7521WARDSALESMAN769822-FEB-81125050030
7566JONESMANAGER783902-APR-81297520
7654MARTINSALESMAN769828-SEP-811250140030
7698BLAKEMANAGER783901-MAY-81285030
7782CLARKMANAGER783909-JUN-81245010
7788SCOTTANALYST756619-APR-87300020
7839KINGPRESIDENT17-NOV-81500010
7844TURNERSALESMAN769808-SET-811500030
7876ADAMSCLERK778823-MAY-87110020
7900JAMESCLERK768903-DEC-8195030
7902FORDANALYST756603-DEC-81300020
7934MILLERCLERK778223-JAN-82130010
8.以下选项中哪个是以下查询返回的值:
selectsum(sal)+sum(m)fromempwherejob=‘ANALYST’orenamelike‘J%’?
A.6000B.9925C.9975D.NULL
9.以下选项中哪个是以下查询返回的值:
selectcount(mgr)fromempwheredeptno=10?
A.1B.2C.3D.NULL
10.以下选项中哪个是以下查询返回的值:
selectcount(*)fromempwheremgr=7700-2?
A.5B.6C.7D.NUL
11.以下选项中哪个是以下SQL命令产生的第三个员工:
selectename,salfromempwherejob=‘SALESMAN’orderbyempnodesc?
A.ALLENB.MARTINC.TURNERD.WARD
12.以下选项中哪个是以下SQL命令产生的第三个员工:
ename,salfromempwherejob=‘SALESMAN’orderby1desc?
A.ALLENB.MARTINC.TURNERD.WARD
13.以下选项中哪个是发出以下查询后Oracle返回的值:
selectsubstr(job,1,3)fromempwhereenamelikeupper(‘__ar%’)?
A.ANAB.CLEC.MAND.SAL
14.以下选项中哪个是发出以下查询后Oracle返回的值:
selecttrunk(months_between(min(hiredate),max(hiredate)))fromemp?
A.24B.25C.-24D.-25
15.以下选项中哪个是发出以下查询后Oracle返回的值:
select*fromempwherehiredate>’23-JAN-82’?
〔选择两个答案〕
A.ADAMSB.MILLERC.SCOTTD.SMITH
16.TEST表包含两个列,TESTCOL定义为数据类型NUMBER(10),TESTCOL_2定义为数据类型VARCHAR2(10)。
在Oracle中发出以下语句:
insertintotest(testcol,testcol_2)values(null,‘FRANCIS’),然后对表进程以下查询:
selectnvl(testcol,‘EMPTY’)astestcolfromtestwheretestcol_2=‘FRANCIS’。
以下选项哪个是得到的结果?
A.Oracle返回结果0B.Oracle返回结果EMPTY
C.Oracle返回结果NULLD.Oracle返回错误结果
17.要从ORDERS表中取得数据,其中包括三个列CUSTOMER、ORDER_DATE与ORDER_AMT。
可以用以下哪个where子句查询ORDERS表,取得客户LESLIE超过2700的订单?
A.wherecustomer=‘LESLIE’;
B.wherecustomer=‘LESLIE’andorder_amt<2700;
C.wherecustomer=‘LESLIE’ororder_amt>2700;
D.wherecustomer=‘LESLIE’andorder_amt>2700;
18.查询出当前的数据库系统时间,准确到秒
A.selectto_date(sysdate,'YYYY-MM-DDHH24:
MI:
SS')fromdual;
B.selectto_char(sysdate,'YYYY-MM-DDHH24:
MI:
SS')fromdual;
C.selectdate(sysdate,'YYYY-MM-DDHH24:
MI:
SS')fromdual;
D.selectchr(sysdate,'YYYY-MM-DDHH24:
MI:
SS')fromdual;
19.用以下代码块答复以下问题:
SQL>select______(-45)asoutputfromdual;
OUTPUT
------
-45
以下哪个单行函数无法产生这个输出?
A.abs()B.ceil()C.floor()D.round()
20.对表中的某一行,VARCHAR2列包含数值SMITHY,应用程序在右侧填充七个空格。
length()函数处理这个列值时,返回什么值?
A.6B.13C.30D.60
21.在Oracle中发出的以下查询:
SQL>selectmonths_between(‘15-MAR-83’,‘15-MAR-97’)formdual;
Oracle返回什么?
A.14B.-14C.168D.-168
22.你要在Oracle中使用日期信息的格式掩码。
以下哪种情形不适合这个格式掩码?
A.to_date()B.to_char()
C.altersessionsetnls_date_formatD.to_number()
23.数据库中有两表PRODUCT与STORAGE_BOX,表中列出各个产品的惟一ID号、产品名和特定产品所在的箱子。
另一个表中列出各个存储箱〔用数字标识〕可以包含许多产品,但每个箱子只能在一个地方。
以下哪个语句能正确显示这个数据库中所有产品ID、名称和箱子地址?
A.selectp.prod_id,p.prod_name,b.box_locfromproductp,storage_boxbwhere
p.prod_id=b.prod_idandprod_name=’WIDGET’;
B.selectp.prod_id,p.prod_name,b.box_locfromproductp,storage_boxbwhere
prod_name=’WIDGET’;
C.selectp.prod_id,p.prod_name,b.box_locfromproductp,storage_boxbwhere
p.stor_box_num=b.stor_box_numandprod_name=’WIDGET’;
D.selectprod_id,prod_name,box_locfromproduct,storage_boxwhere
stor_box_num=stor_box_numandprod_name=’WIDGET’;
24.开发报表时,要连接三个表的信息,这些表为EMP、DEPT与SALGRADE。
只需要公司10级以上员工相应的员工、部门地址与工资围的记录。
这个查询需要多少比拟运算?
A.2B.3C.4D.5
25.要连接两个表PRODUST与STOTAGE的容,列出所有包含产品的箱子地址。
PRODUCT有三列ID、NAME与BOX#;STORAGE有两列BOX#与LOC。
以下哪个选项无法得到想要的结果?
A.selectproduct.id,product.name,storage.locfromproduct,storagewhereproduct.box#=storage.box#;
B.selectproduct.id,product.name,storage.locfromproductjoinstorageonproduct.box#=storage.box#;
C.selectproduct.id,product.name,storage.locfromproductnaturaljoinstorageonproduct.box#=storage.box#;
D.selectproduct.id,product.name,storage.locfromproductnaturaljoinstorage;
26.数据库中有两个表PRODUCT与STORAGE_BOX,表中列出各个产品的惟一ID号、产品名和特定产品所在的箱子。
另一个表中列出各个存储箱〔用数字标识〕可以包含许多产品,但每个箱子只能在一个地方。
以下哪个语句能正确显示这个数据库中所有产品ID、名称和箱子地址,不管有没有指定存储箱?
A.selectp.prod_id,p.prod_name,b.box_locfromproductpleftouterjoinstorage_boxbon
p.stor_bax_num=b.stor_bax_numwhereprod_name=’WIDGET’(+);
B.selectp.prod_id,p.prod_name,b.box_locfromproductpleftouterjoinstorage_boxbon
p.stor_bax_num=b.stor_bax_numwhereprod_name=’WIDGET’;
C.selectp.prod_id,p.prod_name,b.box_locfromproductprightouterjoinstorage_boxb
whereb.stor_bax_num=p.stor_bax_num(+)andprod_name=’WIDGET’(+);
D.selectp.prod_id,p.prod_name,b.box_locfromproductpfullouterjoinstorage_boxbon
p.stor_bax_num=b.stor_bax_numwhereb.stor_box_numisNULL;
27.列出薪水高于所在部门平均工资的员工信息
A.selectdeptno,ename,salfromempawheresal>(selectavg(a.sal)fromempwheredeptno=a.deptno);
B.selectdeptno,ename,salfromempawheresal>(selectavg(sal)fromempwheredeptno=a.deptno);
C.selecta.deptno,a.ename,a.salfromempa,empbwherea.deptno=b.deptnoanda.sal>avg(b.sal);
D.selecta.deptno,a.ename,a.salfromempa,empbwherea.deptno=b.deptnoandb.sal>avg(a.sal);
28.要查询PROFITS表存储公司不同地区、产品类型和季度的利润信息。
以下哪个SQL语句显示不同地区、产品类型和季度的利润的穿插表输出?
A.selectregion,product_type,time,sum(profit)fromprofitsgroupbyregion,prod_type,time;
B.selectregion,product_type,timefromprofitsgroupbyrollup(region,prod_type,time);
C.selectregion,product_type,time,fromprofitsgroupbycube(region,prod_type,time);
D.selectregion,product_type,time,sum(profit)fromprofitsgroupbycube(region,prod_type,time);
29.对数据库运行以下哪个groupby查询时不会从Oracle产生错误?
A.selectdeptno,job,sum(sal)fromempgroupbyjob,deptno;
B.selectsum(sal),deptno,jobfromempgroupbyjob,deptno;
C.selectdeptno,job,sum(sal)fromemp;
D.selectdeptno,sum(sal),jobfromempgroupbyjob,deptno;
30.检查以下SQL的输出
SQL>selecta.deptno,a.job,b.loc,sum(a.sal)
2fromdmpa,deptb
3wherea.deptno=b.depton
4groupbya.deptno,a.job,b.loc
5orderbysum(a.sal);
这个查询按哪个列的顺序返回输出?
A.A.DEPTONB.A.JOBC.B.LOCD.SUM(A.SAL)
31.要查询的PROFITS表存储公司不同地区、产品类型和季度的利润信息。
以下哪个SQL语句按不同地区、产品类型和季度求出平均利润大于100000美元的利润?
A.selectregion,prod_type,period,avg(profits)fromprofitswhereavg(prodit)>100000groupbyregion,prod_type,period;
B.selectregion,prod_type,period,avg(profits)fromprofitswhereavg(prodit)>100000orderbyregion,prod_type,period;
C.selectregion,prod_type,period,avg(profits)fromprofitsgroupbyregion,prod_type,periodhavingavg(prodit)>100000;
D.selectregion,prod_type,period,avg(profits)fromprofitsgroupbyregion,prod_type,periodhavingavg(prodit)<100000;
32.公司的员工费用应用程序有两表,一个是EMP,包含所有员工数据,一个是EXPENSE,包含公司每个员工提交的费用票据。
以下哪个查询取得提交的费用总和超过其工资值的员工ID与?
A.selecte.empno,e.enamefromempewheree.sal<(selectsum(x.vouch_amt)fromexpensex)andx.empno=e.empno;
B.selecte.empno,e.enamefromempewheree.sal<(selectx.vouch_amtfromexpensexwherex.empno=e.empno);
C.selecte.empno,e.enamefromempewheree.sal<(selectsum(x.vouch_amt)fromexpensexwherex.empno=e.empno);
D.selecte.empno,e.enamefromempewhereexists(selectsum(x.vouch_amt)fromexpensexwherex.empno=e.empno;
33.看看以下语句:
SQL>selectename
2fromemp
3whereempnoin
4(selectempno
5fromexpense
6wherevouch_amt>10000);
以下哪个SQL语句产生与上面一样的输出,改写成使用运算符?
A.selecte.enamefromempewhereexists(selectx.empnofromexpensexwherex.vouch_amt>10000)
andx.empno=e.empno;
B.selecte.enamefromempewhereexists(selectx.empnofromexpensexwherex.vouch_amt>10000andx.empno=e.empno);
C.selecte.enamefromempewherex.empno=e.empnoandexists(selectx.empnofromexpensex
wherex.vouch_amt>10000)
D.selecte.enamefromempe,expensexwherex.empno=e.empnoandx.vouch_amt>10000and
exists(selectx.empnofromexpensexwhere)
34.用以下代码块答复以下问题:
SQL>selectdeptno,job,avg(sal)
2fromemp
3groupbydeptno,job
4havingavg(sal)>
5(selectsal
6fromemp
7whereename=‘MARTIN’);
上述语句使用下面哪种子查询?
A.单行子查询B.多行子查询C.from子句子查询D.多列子查询
35.公司销售数据库有两个表,PROFITS存储不同地区不同季度的产品销售利润,REGIONS存储每个部门地区名称、该地区总部地址和该地区副总裁。
以下哪个查询取得SMITHERS、FUJIMORI与LIKKARAJU领导的地区的