Oracle+SQL+PLSQL练习题带答案(2)

2020-03-29 14:06

Java教学网整理提供www.javajxw.com

(‘SMITHERS’, ‘FUJMORI’, ‘LAKKARAJU’)) and product =’TOYS’;

D.select sum(profit) from profits where region in (select region froms where reg_head in (‘SMITHERS’, ‘FUJMORI’, ‘LAKKARAJU’)) and product =’TOYS’;

40. 下列代码块显示的查询包含一个子查询:

SQL> select dname,avg(sal) as dept_avg 2 from emp,dept

3 where emp.deptno = dept.deptno 4 group by dname having avg(sal) > 5 ( select avg(sal)*1/4 6 from emp,dept

7 where emp.deptno = dept.deptno ) 8 order by avg(sal);

可以用下列哪个子句重新定义这个查询,删除子查询与主查询中组函数执行的重复?

A.group by B.order by C.with D.having 41. 用下列代码块回答问题:

SQL> select e.deptno,e.ename,e.job,e.sal 2 from emp e

3 where e.sal =

4 ( select max(e2.sal) 5 fromemp e2

6* where nvl(e.deptno,99) = nvl(de.deptno,99)); DEPTNO ENAME JOB SAL

--------- ---------- ---------- --------- 30 BLAKE MANAGER 2850 10 CLARK MANAGER 2450 20 SCOTT ANALYST 3000 KING PRESIDENT 5000 20 FORD ANALYST 3000

要在上述返回集的DEPTNO列中显示99,可以用下列哪个SQL语句?

A.select nvl(e.deptno,99), e.ename, e.sal from emp e where (e.deptno, e.sal) = (select max(e2.sal) from emp e2 where nvl(e.dept, 99) = nvl(e2.deptno, 99));

B.select nvl(e.deptno,99), e.ename, e.sal from emp e where e.sal = (select max(e2.sal) from emp e2 where nvl(e.dept, 99) = nvl(e2.deptno, 99));

C.select nvl(e.deptno,99), e.ename, e.sal from emp e where (e.deptno, e.sal) = (select e2.deptno, max(e2.sal) from emp e2 where nvl(e.dept, 99) = nvl(e2.deptno, 99));

D.select nvl(e.deptno,99), e.ename, e.sal from emp e where (e.deptno, e.sal) = (select e2.deptno, max(e2.sal) from emp e2 where nvl(e.dept, 99) = nvl(e2.deptno, 99) group by e1.deptno);

42. 公司销售数据库包含一个PROFITS表,按产品名、销售地区和季度列出利润信息。如果要取得公

司五个最畅销产品清单,可以用下列哪个SQL语句:

A.select p.prod_name, p.profit from (select prod_name, profit from profits order by profit desc) where rownum <= 5;

B.select p.prod_name, p.profit from (select prod_name, sum(profit) from profits group by prod_name order by sum(profit) desc) subq where p.prod_name = subq.prod_name;

C.select p.prod_name, p.profit from (select prod_name, sum(profit) from profits group by prod_name

order by sum(profit) desc) where rownum <= 5;

D.select p.prod_name, p.profit from (select prod_name, sum(profit) from profits order by sum(profit) desc) where rownum <= 5;

43. 公司销售数据库包含一个PROFITS表,按销售地区和季度列出公司销售的每种产品类型的利润信

息。要开发一个报表,让用户交互式运行,显示某个季度的玩具利润。报表用户经常抱怨可读性与可用性差。报表应使用哪个脚本内容?

A.select profit from from profits where prod_type = ‘TOY’ and time_period = ‘&v_period’; B.define v_period select profit from from profits where prod_type = ‘TOY’ and time_period = ‘&v_period’;

C.accept v_period prompt ‘Enter the time period =>’ select profit from from profits where prod_type = ‘TOY’ and time_period = ‘&v_period’;

D.accept v_period select profit from from profits where prod_type = ‘TOY’ and time_period = ‘&v_period’;

44. 检查下列代码段中的脚本dates.sql:

6

Java教学网整理提供www.javajxw.com

accept v_hiredate prompt ‘enter hire date => ’ select empno, ename, job from emp

where trunk(hiredate) = trinc(‘&v_hiredate’); 为了使脚本正确工作,要改变哪个方面?

A.变量v_hiredate应变成接受DATE信息。 B.查询中的trunk()函数应删除。 C.accept命令中的prompt子句是多余的。 D.这个脚本很好。 45. Oracle中要生成数据库表,下列哪个选项是无效表生成的语句?

A.create table cats(c_name varchar2(10), c_weight number, c_owner varchar2(10)); B.create table my_cats as select * from cats where owner = ‘ME’;

C.create global temporary table temp_cats(c_name varchar2(10), c_weight number, c_owner varchar2(10));

D.create table cats_over_5_lbs as select c_name, c_weight from cats where c_weight > 5;

46. 试图在Oracle生成表时遇到下列错误:ORA-00955-name is already used by existing object。下列哪

个选项无法纠正这个错误?

A.以不同的用户身份生成对象。 B.删除现有同名对象 C.改变生成对象中的列名。 D.更名现有同名对象。

47. SALES表中的PROFITS列声明为NUMBER(10, 2)。下列哪个值无法在这个列中存储?

A.5392845.324 B.871039453.1 C.75439289.34 D.60079829.25 48. 员工KING于1981年11月17日聘用,你对Oracle数据库发出下列查询:select vsize(hiredate) from

emp where ename = ‘KING’。下列哪个选项是返回的值?

A.4 B.7 C.9 D.17

49. SALES表中将PRODUCT_NAME列定义为CHAR(40)。后面要在表中增加一行,

PRODUCT_NAME值为CAT_TOYS。然后发出下列命令:select vsize(product_name) from sales。下列哪个选项是返回的值?

A.8 B.12 C.40 D.4000

50. JOB表有三个列JOB_NAME、JOB_DESC和JOB_WAGE。用下列命令在JOB_DESC表中插入新

行:

SQL> insert into job(job_name, job_desc) 2 values (‘LUCKEY’, ‘MAKES COFFEE’); 之后查询这个表时得到的结果:

SQL> select * from job where job_name = ‘LUCKEY’; JOB_NAME JOB_DESC JOB_WAGE --------- ------------ -------- LUCKEY MAKES COFFEE 35 数据是如何填信JOB_WAGE表的?

A.JOB表中的LACKEY行已经存在,JOB_WAGE设置为35。

B.生成表时JOB_WAGE列定义的default子句指定插入行时的值。 C.insert语句的values子句包含隐藏值,在插入行时加入。

D.惟一理由是对JOB表发出的后一个update语句增加了JOB_WAGE值 51. 要把非NULL NUMBER(10)列变成NUMBER(6)列。发出适当alter table命令之后必须完成下列哪

些步骤?

A.将列记录复制到临时存储地址。 B.将所有行的NUMBER列设置为NULL。 C.对NUMBER数据生成临时地址。 D.将列记录从临时地址复制加主表中。 52. 发出下列语句:alter table sales drop columm profit; 何时从Oracle中实际删除列?

A.执行语句后立即删除。 B.发出alter table drop unused columns命令之后 C.发出alter table set unused columns命令之后 D.发出alter table modify命令之后

53. 你要把非NULL VARCHAR2(5)列增加到VARCHAR2(10)。执行适当alter table命令之后必须完成

下列哪些步骤?

A.将所有行的VARCHAR2列设置为NULL。 B.对VARCHAR2数据生成临时地址。 C.将列记录从临时地址复制回主表中。 D.不用,这个语句自动执行。

54. 要把SALES表中的PRODUCT_TYPE列的大小从VARCHAR(5)列增加到VARCHAR2(10),用

下列哪个语句?

A.alter table sales add(product_type varchar2(10));

B.alter table sales modify product_type varchar2(10); C.alter table sales unused column product_type varchar2(10); D.alter table sales drop column product_type;

55. 删除Oracle数据库中父/子关系中的父表。在删除父表时下列哪个对象不会删除?

7

Java教学网整理提供www.javajxw.com

A.相关约束 B.子列 C.相关触发器 D.相关索引

56. 数据库中的中的PROFITS表中PRODUCT_NAME与SALE_PERIOD列建立主键。下列哪个语句

无法定义这个主键?

A.create table profits(product_name varchar2(10), sale_perion varchar2(10), profit number, constraint pk_profits_01 primary key (product_name, sale_period));

B.alter table profits add constraint pk_profits_01 primary key(product_name, sale_period) deferrable initially immediate;

C.alter table profits add(constraint pk_profits_01 primary key(product_name, sale_period)); D.create table profits(product_name varchar2(10) primary key, sale_period varchar2(10) Primary key, profit number)

57. SALES表中定义的检查约束包含两个列PRODUCT_NAME与SALE_PERIOD。下列哪些选项表

示定义的检查约束?选择两个。

A.alter table sales add constraint ck_sales_01 check(product_type in(‘TOYS’, ‘HOT DOGS’, ‘PALM PILOTS’));

B.alter table sales add constraint ck_sales_01 check(product_type in(select product_type from valid_products));

C.alter table sales modify(product_type varchar2(30) check(product_type in(‘TOYS’, ‘HOT DOGS’, ‘PALM PILOTS’)));

D.alter table sales add(product_name varchar2(30) check(product_name <> ‘AK-47’)); 58. 用下列代码块回答问题:

SQL> create table prices

2 ( priduct_name varchar2(30), 3 price number(10,4)); table cteated.

SQL> alter table prices add constraint pk_prices_01 2 primary key(product_name); table altered.

SQL> insert into prices values(‘DOGGY’,499.99); 1 row created.

SQL> alter table prices disable constraint pk_prices_01; Table altered.

SQL> insert into prices values(‘DOGGY’,499.99); 1 row created.

SQL> alter table prices enable novalidate constraint pk_prices_01;

然后发生什么情况?

A.检查现有项目是否违规,启动PK_PRICES_01,Oracle立即检查后续项目是否违反约束。 B.检查现有项目是否违规,不启动PK_PRICES_01,Oracle不检查后续项目是否违反约束。 C.不检查现有项目是否违规,启动PK_PRICES_01,Oracle立即检查后续项目是否违反约束。 D.检查现有项目是否违规,不启动PK_PRICES_01,Oracle立即检查后续项目是否违反约束。 59. 禁用约束时出现下列错误:ORA-02297:cannot disable constraint-dependencies exist。这个错误是

由于禁止下列哪个约束造成的?

A.检查约束 B.非NULL约束 C.外键约束 D.惟一约束

60. 你要关闭SALES表中UNIT_PRICE列的非NULL约束。下列哪个语句能完成这个操作?

A.alter table sales modify(unit_prices null); B.alter table sales modify(unit_prices not null); C.alter table sales add(unit_prices null); D.alter table sales add(unit_prices not null);

8


Oracle+SQL+PLSQL练习题带答案(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:测试技术复习要点及答案 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: