OracleSQL&PL/SQL测试题1.Oracle发出下列select语句:SQLselecte.empno,e.ename,d.loc2fromempe,deptd3wheree.deptno=d.deptno4andsubstr(e.ename,1,1)=‘S’;下列哪个语句是Oracle数据库中可用的ANSI兼容等价语句?AA.selectempno,ename,locfromempjoindeptonemp.deptno=dept.deptnowheresubstr(emp.ename,1,1)=‘S’;B.selectempno,ename,locfromemp,deptonemp.deptno=dept.deptnowheresubstr(emp.ename,1,1)=‘S’;C.selectempno,ename,locfromempjoindeptwhereemp.deptno=dept.deptnoandsubstr(emp.ename,1,1)=‘S’;D.selectempno,ename,locfromempleftjoindeptonemp.deptno=dept.deptnoandsubstr(emp.ename,1,1)=‘S’;2.你要对操纵Oracle数据库中的数据。下列哪个选项表示Oracle中select语句的功能,并且不需要使用子查询?BA.可以用select语句改变Oracle中的数据B.可以用select语句删除Oracle中的数据C.可以用select语句和另一个表的内容生成一个表D.可以用select语句对表截断3.Oracle数据库中发出一个查询。下列哪个选项不能查询对用户定义静态表达式执行数学运算时的查询组件?A.列子句B.表子句C.DUAL表D.where子句4.你要操纵Oracle数据,下列哪个不是SQL命令?BA.select*fromdual;B.setdefineC.updateempsetename=6543whereename=‘SMITHERS’;D.createtableemployees(empidvarchar2(10)primarykey);5.你要在Oracle中定义SQL查询。下列哪个数据库对象不能直接从select语句中引用?CA.表B.序列C.索引D.视图6.你要根据PRODUCT_NAME列从PROFITS表查询中过滤返回的数据。下列哪个子句包含相应过滤条件的引用?A.selectB.fromC.whereD.having7.下列代码显示了PROFITS表输出的局部:PRODUCT_NAMEPRODUCT_TYPEQTR_END_DATEPROFIT-------------------------------------------------BARNEYDOLLTOY31-MAR-20016575430.30GASGRILLAPP31-MAR-20011234023.88PENCILOFFICE30-JUN-200134039.99下列查询的where子句哪个能正确计算2001年1月1日到6月1日六个月内销售的所有家电总利润?CA.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’;用下列代码所示的内容回答后面八个问题:EMPNOENAMEJOBMGRHIREDATESALCOMMDEPTNO----------------------------------------------------7369SIMTHCLERK790217-DEC-80800207499ALLENSALESMAN769820-FEB-811600300307521WARDSALESMAN769822-FEB-811250500307566JONESMANAGER783902-APR-812975207654MARTINSALESMAN769828-SEP-8112501400307698BLAKEMANAGER783901-MAY-812850307782CLARKMANAGER783909-JUN-812450107788SCOTTANALYST756619-APR-823000207839KINGPRESIDENT17-NOV-815000107844TURNERSALESMAN769808-SET-8115000307876ADAMSCLERK778823-DEC-821100207900JAMESCLERK769803-DEC-81950307902FORDANALYST756603-DEC-813000207934MILLERCLERK778223-JAN-821300108.以下选项中哪个是下列查询返回的值:selectsum(sal)+sum(comm)fromempwherejob=‘ANALYST’orenamelike‘J%’D?A.6000B.9925C.9975D.NULL9.以下选项中哪个是下列查询返回的值:selectcount(mgr)fromempwheredeptno=10?CA.1B.2C.3D.NULL10.以下选项中哪个是下列查询返回的值:selectcount(*)fromempwheremgr=7700-2?A.5B.6C.7D.NUL11.以下选项中哪个是下列SQL命令产生的第三个员工:selectename,salfromempwherejob=‘SALESMAN’orderbyempnodesc?DA.ALLENB.MARTINC.TURNERD.WARD12.以下选项中哪个是下列SQL命令产生的第三个员工:ename,salfromempwherejob=‘SALESMAN’orderby1desc?DA.ALLENB.MARTINC.TURNERD.WARD13.以下选项中哪个是发出下列查询后Oracle返回的值:selectsubstr(job,1,3)fromempwhereenamelikeupper(‘__ar%’)?AA.ANAB.CLEC.MAND.SAL14.以下选项中哪个是发出下列查询后Oracle返回的值:selecttrunc(months_between(min(hiredate),max(hiredate)))fromemp?A.24B.25C.-24D.-2515.以下选项中哪个是发出下列查询后Oracle返回的值:select*fromempwherehiredateAD’23-JAN-82’?(选择两个答案)A.ADAMSB.MILLERC.SCOTTD.SMITH16.TEST表包含两个列,TESTCOL定义为数据类型NUMBER(10),TESTCOL_2定义为数据类型VARCHAR2(10)。在Oracle中发出下列语句:insertintotest(testcol,testcol_2)values(null,‘FRANCIS’),然后对表进行下列查询:selectnvl(testcol,‘EMPTY’)astestcolfromtestwheretestcol_2=‘FRANCIS’。下列选项哪个是得到的结果?BA.Oracle返回结果0B.Oracle返回结果EMPTYC.Oracle返回结果NULLD.Oracle返回错误结果17.要从ORDERS表中取得数据,其中包括三个列CUSTOMER、ORDER_DATE与ORDER_AMT。可以用下列哪个where子句查询ORDERS表,取得客户LESLIE超过2700的订单?DA.wherecustomer=‘LESLIE’;B.wherecustomer=‘LESLIE’andorder_amt2700;C.wherecustomer=‘LESLIE’ororder_amt2700;D.wherecustomer=‘LESLIE’andorder_amt2700;18.用下列输出回答问题(假设这里的信息来自本章使用的EMP表):EMPNO----------SMITH-dog-ALLEN-dog-WARD-dog-dJONES-dog-MARTIN-dogBLAKE-dog-CLARK-dog-SCOTT-dog-KING-dog-dTURNER-dogJAMES-dog-FORD-dog-dMILLER-dog下列哪个SQL语句产生这个输出?A.selecttrim(trailing‘-dog’fromename)asenamefromemp;B.selectrpad(ename,10,‘-dog’)asenamefromemp;C.selectsubstr(ename,1,10)asenamefromemp;D.selectlpad(ename,10,‘-dog’)asenamefromemp;19.用下列代码块回答问题:SQLselect______(-45)asoutputfromdual;OUTPUT-------45下列哪个单行函数无法产生这个输出?AA.abs()B.ceil()C.floor()D.round()20.对表中的某一行,VARCHAR2列包含数值SMITHY,应用程序在右侧填充七个空格。length()函数处理这个列值时,返回什么值?A.6B.13C.30D.6021.SQL*Plus中发出的下列语句:SQLselectceil(-97.342),2floor(-97.342),3round(-97.342),4trunc(-97.342)5fromdual;下列哪个函数不返回结果-97?A.ceil()B.floor()C.round()D.trunc()22.SQL*Plus中发出的下列语句:SQLselectceil(256.342),2floor(256.342),3round(256.342),4trunc(256.342)5fromdual;下列哪个函数不返回结果256?A.ceil()B.floor()C.round()D.trunc()23.在Oracle中发出的下列查询:SQLselectmonths_between(‘15-MAR-83’,’15-MAR-97’)formdual;Oracle返回什么?CA.14B.-14C.168D.-16824.你要在Oracle中使用日期信息的格式掩码。下列哪种情形不适合这个格式掩码?CA.to_date()B.to_char()C.altersessionsetnls_date_formatD.to_number()25.数据库中有两表PRODUCT与STORAGE_BOX,PRODUCT表中列出各个产品的惟一ID号、产品名和特定产品所在的箱子。另一个表中列出各个存储箱(用数字标识)可以包含许多产品,但每个箱子只能在一个地方。下列哪个语句能正确显示这个数据库中所有产品ID、名称和箱子地址?A.selectp.prod_id,p.prod_name,b.box_locfromproductp,storage_boxbwherep.prod_id=b.prod_idandprod_name=’WIDGET’;B.selectp.prod_id,p.prod_name,b.box_locfromp