Oracle+SQL+PLSQL练习题带答案

2020-03-29 14:06

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

Oracle SQL & PL/SQL练习题(三)

本文由java教学网www.javajxw.com整理,转发请带出处

(蓝色为正确选项)

1. Oracle发出下列select语句:

SQL> select e.empno, e.ename, d.loc 2 from emp e, dept d

3 where e.deptno = d.deptno

4 and substr(e.ename, 1, 1) = ‘S’;

下列哪个语句是Oracle数据库中可用的ANSI兼容等价语句?

A.select empno, ename, loc from emp join dept on emp.deptno = dept.deptno where substr(emp.ename, 1, 1) = ‘S’;

B.select empno, ename, loc from emp, dept on emp.deptno = dept.deptno where substr(emp.ename, 1, 1) = ‘S’;

C.select empno, ename, loc from emp join dept where emp.deptno = dept.deptno and substr(emp.ename, 1, 1) = ‘S’;

D.select empno, ename, loc from emp join dept on emp.deptno = dept.deptno and substr(emp.ename, 1, 1) = ‘S’;

2. 你要对操纵Oracle数据库中的数据。下列哪个选项表示Oracle中select语句的功能,并且不需要

使用子查询?

A.可以用select语句改变Oracle中的数据 B.可以用select语句删除Oracle中的数据 C.可以用select语句和另一个表的内容生成一个表 D.可以用select语句对表截断

3. Oracle数据库中发出一个查询。下列哪个选项不能查询对用户定义静态表达式执行数学运算时的

查询组件?

A.列子句 B.表子句 C.DUAL表 D.where子句 4. 你要操纵Oracle数据,下列哪个不是SQL命令?

A.select * from dual; B.set define

C.update emp set ename = 6543 where ename = ‘SMITHERS’; D.create table employees(empid varchar2(10) primary key);

5. 你要在Oracle中定义SQL查询。下列哪个数据库对象不能直接从select语句中引用?

A.表 B.序列 C.索引 D.视图

6. 你要根据PRODUCT_NAME列从PROFITS表查询中过滤返回的数据。下列哪个子句包含相应过

滤条件的引用?

A.select B.from C.where D.having 7. 下列代码显示了PROFITS表输出的局部:

PRODUCT_NAME PRODUCT_TYPE QTR_END_DATE PROFIT ------------ ------------ ------------ ------------- BARNEY DOLL TOY 31-MAR-2001 6575430.30 GAS GRILL APP 31-MAR-2001 1234023.88 PENCIL OFFICE 30-JUN-2001 34039.99

下列查询的where子句哪个能正确计算2001年1月1日到6月1日六个月内销售的所有家电总利润? A.where product_name = ‘GAS GRILL’ and qtr_end_date between ’01-JAN-2001’ and ‘01-JUN-2001’; B.where proeuct_type = ‘APPLIANCE’ and name = ‘GAS GRILL’ and qtr_end_date = ’31-JAN-2001’ or ‘30-JUN-2001’;

C.where proeuct_type = ‘APPLIANCE’ and qtr_end_date between ’01-JAN-2001’ and ’01-JUN-2001;

D.where proeuct_name = ‘GAS GRILL’ and qtr_end_date = ’01-JAN-2001’ or ‘01-JUN-2001’; 用下列代码所示的内容回答后面八个问题: EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ------ ---------- --------- ---- --------- ---- ---- ------ 7369 SIMTH CLERK 7902 17-DEC-80 800 20 7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30 7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30 7566 JONES MANAGER 7839 02-APR-81 2975 20 7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30

1

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

7698 BLAKE MANAGER 7839 01-MAY-81 2850 30 7782 CLARK MANAGER 7839 09-JUN-81 2450 10 7788 SCOTT ANALYST 7566 19-APR-87 3000 20 7839 KING PRESIDENT 17-NOV-81 5000 10 7844 TURNER SALESMAN 7698 08-SET-81 1500 0 30 7876 ADAMS CLERK 7788 23-MAY-87 1100 20 7900 JAMES CLERK 7689 03-DEC-81 950 30 7902 FORD ANALYST 7566 03-DEC-81 3000 20 7934 MILLER CLERK 7782 23-JAN-82 1300 10 8. 以下选项中哪个是下列查询返回的值:select sum(sal) + sum(comm) from emp where job =

‘ANALYST’ or ename like ‘J%’ ?

A.6000 B.9925 C.9975 D.NULL

9. 以下选项中哪个是下列查询返回的值:select count(mgr) from emp where deptno = 10 ?

A.1 B.2 C.3 D.NULL

10. 以下选项中哪个是下列查询返回的值:select count(*) from emp where mgr = 7700-2 ?

A.5 B.6 C.7 D.NUL

11. 以下选项中哪个是下列SQL命令产生的第三个员工:select ename, sal from emp where job

= ‘SALESMAN’ order by empno desc ?

A.ALLEN B.MARTIN C.TURNER D.WARD

12. 以下选项中哪个是下列SQL命令产生的第三个员工:ename, sal from emp where job

= ‘SALESMAN’ order by 1 desc ?

A.ALLEN B.MARTIN C.TURNER D.WARD

13. 以下选项中哪个是发出下列查询后Oracle返回的值:select substr(job, 1, 3) from emp where

ename like upper(‘__ar%’) ?

A.ANA B.CLE C.MAN D.SAL

14. 以下选项中哪个是发出下列查询后Oracle返回的值:select trunk(months_between(min(hiredate), max(hiredate))) from emp ?

A.24 B.25 C.-24 D.-25

15. 以下选项中哪个是发出下列查询后Oracle返回的值:select * from emp where hiredate >

’23-JAN-82’ ?(选择两个答案)

A.ADAMS B.MILLER C.SCOTT D.SMITH

16. TEST表包含两个列,TESTCOL定义为数据类型NUMBER(10),TESTCOL_2定义为数据类型

VARCHAR2(10)。在Oracle中发出下列语句:insert into test(testcol, testcol_2) values (null, ‘FRANCIS’),然后对表进程下列查询:select nvl(testcol, ‘EMPTY’) as testcol from test where testcol_2 = ‘FRANCIS’。下列选项哪个是得到的结果?

A.Oracle返回结果0 B.Oracle返回结果EMPTY C.Oracle返回结果NULL D.Oracle返回错误结果

17. 要从ORDERS表中取得数据,其中包括三个列CUSTOMER、ORDER_DATE与ORDER_AMT。

可以用下列哪个where子句查询ORDERS表,取得客户LESLIE超过2700的订单? A.where customer = ‘LESLIE’;

B.where customer = ‘LESLIE’ and order_amt < 2700; C.where customer = ‘LESLIE’ or order_amt > 2700;

D.where customer = ‘LESLIE’ and order_amt > 2700;

18. 用下列输出回答问题(假设这里的信息来自本章使用的EMP表): EMPNO

---------- SMITH-dog- ALLEN-dog- WARD-dog-d JONES-dog- MARTIN-dog BLAKE-dog- CLARK-dog- SCOTT-dog- KING-dog-d TURNER-dog JAMES-dog- FORD-dog-d

2

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

MILLER-dog

下列哪个SQL语句产生这个输出?

A.select trim(trailing ‘-dog’ from ename) as ename from emp; B.select rpad(ename, 10, ‘-dog’) as ename from emp; C.select substr(ename,1 , 10) as ename from emp; D.select lpad(ename, 10, ‘-dog’) as ename from emp; 19. 用下列代码块回答问题:

SQL> select ______(-45) as output from dual; OUTPUT ------

-45

下列哪个单行函数无法产生这个输出?

A.abs() B.ceil() C.floor() D.round()

20. 对表中的某一行,VARCHAR2列包含数值SMITHY,应用程序在右侧填充七个空格。length()函

数处理这个列值时,返回什么值?

A.6 B.13 C.30 D.60 21. SQL *Plus中发出的下列语句:

SQL> select ceil(-97.342), 2 floor(-97.342), 3 round(-97.342), 4 trunk(-97.342) 5 from dual;

下列哪个函数不返回结果-97?

A.ceil() B.floor() C.round() D.trunc() 22. SQL *Plus中发出的下列语句:

SQL> select ceil(256.342), 2 floor(256.342), 3 round(256.342), 4 trunk(256.342) 5 from dual;

下列哪个函数不返回结果256?

A.ceil() B.floor() C.round() D.trunc() 23. 在Oracle中发出的下列查询:

SQL> select months_between( ‘15-MAR-83’, ‘15-MAR-97’) form dual; Oracle返回什么?

A.14 B.-14 C.168 D.-168

24. 你要在Oracle中使用日期信息的格式掩码。下列哪种情形不适合这个格式掩码?

A.to_date() B.to_char() C.alter session set nls_date_format D.to_number() 25. 数据库中有两表PRODUCT与STORAGE_BOX,表中列出各个产品的惟一ID号、产品名和特定

产品所在的箱子。另一个表中列出各个存储箱(用数字标识)可以包含许多产品,但每个箱子只能在一个地方。下列哪个语句能正确显示这个数据库中所有产品ID、名称和箱子地址? A.select p.prod_id, p.prod_name, b.box_loc from product p, storage_box b where p.prod_id = b.prod_id and prod_name=’WIDGET’;

B.select p.prod_id, p.prod_name, b.box_loc from product p, storage_box b where prod_name=’WIDGET’;

C.select p.prod_id, p.prod_name, b.box_loc from product p, storage_box b where p.stor_box_num = b.stor_box_num and prod_name=’WIDGET’; D.select prod_id, prod_name, box_loc from product , storage_box where stor_box_num = stor_box_num and prod_name=’WIDGET’;

26. 开发报表时,要连接三个表的信息,这些表为EMP、DEPT与SALGRADE。只需要公司10级以

上员工相应的员工、部门地址与工资范围的记录。这个查询需要多少比较运算? A.2 B.3 C.4 D.5

27. 要连接两个表PRODUST与STOTAGE的内容,列出所有包含产品的箱子地址。PRODUCT有三

列ID、NAME与BOX#;STORAGE有两列BOX#与LOC。下列哪个选项无法得到想要的结果? A.select product.id, product.name, storage.loc from product, storage where product.box#=storage.box#; B.select product.id, product.name, storage.loc from product join storage on product.box# =storage.box#;

C.select product.id, product.name, storage.loc from product natural join storage on

3

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

product.box#=storage.box#;

D.select product.id, product.name, storage.loc from product natural join storage; 28. 你要定义外连接,下列哪个选项正确描述了外连接语句?

A.由于外连接操作允许一个表中有NULL值,因此连接这些表时不必指定相等性比较。 B.在表A与B的外连接语句中,如果不管B表有无相应记录,都要显示表A的所有行, 则可以使用右外连接。

C.在表A与B的外连接语句中,如果不管A表有无相应记录,都要显示表B的所有行, 则可以使用左外连接。

D.尽管外连接操作允许一个表中有NULL值,但连接这些表时仍要指定相等性比较。

29. 数据库中有两个表PRODUCT与STORAGE_BOX,表中列出各个产品的惟一ID号、产品名和特

定产品所在的箱子。另一个表中列出各个存储箱(用数字标识)可以包含许多产品,但每个箱子只能在一个地方。下列哪个语句能正确显示这个数据库中所有产品ID、名称和箱子地址,不管有没有指定存储箱?

A.select p.prod_id, p.prod_name, b.box_loc from product p left outer join storage_box b on p.stor_bax_num = b. stor_bax_num where prod_name=’WIDGET’(+);

B.select p.prod_id, p.prod_name, b.box_loc from product p left outer join storage_box b on p.stor_bax_num = b. stor_bax_num where prod_name=’WIDGET’ ;

C.select p.prod_id, p.prod_name, b.box_loc from product p right outer join storage_box b where b.stor_bax_num = p. stor_bax_num(+) and prod_name=’WIDGET’(+);

D.select p.prod_id, p.prod_name, b.box_loc from product p full outer join storage_box b on p.stor_bax_num = b. stor_bax_num where b.stor_box_num is NULL ;

30. Oracle中发出下列命令:

SQL> select e.ename,a.street_address,a.city,a.post_code 2 from emp e,addr a

3 where e.empno = a.empno(+) 4 and a.state = ‘TEXAS’; 下列哪个选项显示等价ANSI/ISO语句?

A.select e.ename, a.street_address, a.city, a.state, a.post_code from e outer join addr a on e.empno = a.empno where a.state = ‘TEXAS’;

B.select e.ename, a.street_address, a.city, a.state, a.post_code from e left outer join addr a on e.empno = a.empno where a.state = ‘TEXAS’;

C.select e.ename, a.street_address, a.city, a.state, a.post_code from e right outer join addr a on e.empno = a.empno where a.state = ‘TEXAS’;

D.select e.ename, a.street_address, a.city, a.state, a.post_code from e right outer join addr a where e.empno = a.empno(+) and a.state = ‘TEXAS’; 31. 检查SQL *Plus的下列输出:

PRODUCT.ID PRODUCT.NAME BOX.LOCATION ---------- ------------ ------------ 578-X WIDGET IDAHO TENNESSEE 456-Y WIDGET

下列哪个选项是产生这个结果的查询类型?

A.全外连接 B.左外连接 C.右外连接 D.等连接

32. 要查询PROFITS表存储公司不同地区、产品类型和季度的利润信息。下列哪个SQL语句显示不

同地区、产品类型和季度的利润的交叉表输出?

A.select region, product_type, time,sum(profit) from profits group by region, prod_type, time; B.select region, product_type, time from profits group by rollup(region, prod_type, time); C.select region, product_type, time, from profits group by cube(region, prod_type, time);

D.select region, product_type, time,sum(profit) from profits group by cube(region, prod_type, time);

33. 对数据库运行下列哪个group by查询时不会从Oracle产生错误?

A.select deptno, job, sum(sal) from emp group by job, deptno; B.select sum(sal), deptno, job from emp group by job, deptno; C.select deptno, job, sum(sal) from emp;

D.select deptno, sum(sal), job from emp group by job, deptno; 34. 检查下列SQL的输出

SQL> select a.deptno,a.job,b.loc,sum(a.sal) 2 from dmp a,dept b

3 where a.deptno = b.depton

4

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

4 group by a.deptno,a.job,b.loc 5 order by sum(a.sal); 这个查询按哪个列的顺序返回输出?

A.A.DEPTON B.A.JOB C.B.LOC D.SUM(A.SAL)

35. 要查询的PROFITS表存储公司不同地区、产品类型和季度的利润信息。下列哪个SQL语句按不

同地区、产品类型和季度求出平均利润大于100000美元的利润?

A.select region, prod_type, period, avg(profits) from profits where avg(prodit) > 100000 group by region, prod_type, period;

B.select region, prod_type, period, avg(profits) from profits where avg(prodit) > 100000 order by region, prod_type, period;

C.select region, prod_type, period, avg(profits) from profits group by region, prod_type, period having avg(prodit) > 100000;

D.select region, prod_type, period, avg(profits) from profits group by region, prod_type, period having avg(prodit) < 100000;

36. 公司的员工费用应用程序有两表,一个是EMP,包含所有员工数据,一个是EXPENSE,包含公

司每个员工提交的费用票据。下列哪个查询取得提交的费用总和超过其工资值的员工ID与姓名? A.select e.empno, e.ename from emp e where e.sal < (select sum(x.vouch_amt) from expense x) and x.empno = e.empno;

B.select e.empno, e.ename from emp e where e.sal < (select x.vouch_amt from expense x where x.empno = e.empno);

C.select e.empno, e.ename from emp e where e.sal < (select sum(x.vouch_amt) from expense x where x.empno = e.empno);

D.select e.empno, e.ename from emp e where exists (select sum(x.vouch_amt) from expense x where x.empno = e.empno;

37. 看看下列语句:

SQL> select ename 2 from emp

3 where empno in 4 ( select empno 5 from expense

6 where vouch_amt > 10000 );

下列哪个SQL语句产生与上面相同的输出,改写成使用运算符?

A.select e.ename from emp e where exists(select x.empno from expense x where x.vouch_amt>10000) and x.empno = e.empno;

B.select e.ename from emp e where exists(select x.empno from expense x where x.vouch_amt>10000 and x.empno = e.empno);

C.select e.ename from emp e where x.empno = e.empno and exists(select x.empno from expense x where x.vouch_amt>10000)

D.select e.ename from emp e, expense x where x.empno = e.empno and x.vouch_amt>10000 and exists(select x.empno from expense x where)

38. 用下列代码块回答问题:

SQL> select deptno,job,avg(sal) 2 from emp

3 group by deptno,job 4 having avg(sal)> 5 ( select sal 6 from emp

7 where ename = ‘MARTIN’ ); 上述语句使用下面哪种子查询?

A.单行子查询 B.多行子查询 C.from子句子查询 D.多列子查询

39. 公司销售数据库有两个表,PROFITS存储不同地区不同季度的产品销售利润,REGIONS存储每

个部门地区名称、该地区总部地址和该地区副总裁姓名。下列哪个查询取得SMITHERS、FUJIMORI与LIKKARAJU领导的地区的玩具销售利润?

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

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

C.select sum(profit) from profits where region = (select region froms where reg_head in

5


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

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

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

马上注册会员

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