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