Oracle+SQL+PLSQL练习题带答案
- 格式:doc
- 大小:107.00 KB
- 文档页数:8
Oracle SQL & PL/SQL练习题(三)
本文由java教学网整理,转发请带出处
(蓝色为正确选项)
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
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 =
‘ANAL YST’ or ename like ‘J%’ ?
A.6000 B.9925 C.9975 D.NULL
9.以下选项中哪个是下列查询返回的值:select count(mgr) from emp where deptno = 10 ?
A.1 B.2C.3 D.NULL
10.以下选项中哪个是下列查询返回的值:select count(*) from emp where mgr = 7700-2 ?
A.5B.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.W ARD
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.-24D.-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定义为数据类型
V ARCHAR2(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