2017年Oracle数据库基础测试答案
姓名 成绩
一、单项选择题(每题1分,共60分)
1. 列出EMP表中,从事每个工种(JOB)的员工人数 A.select job from emp;
B. select job,count(*) from emp;
C. select distinct job,count(*) from emp; D. select job,count(*) from emp group by job; 2. 查询EMP表中的数据并且显示出行号(从1开始) A.select rowid,a.* from emp a; B. select level,a.* from emp a; C. select rownum,a.* from emp a; D. select sequence,a.* from emp a;
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 = ‘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.查询出当前的数据库系统时间,精确到秒
A. select to_date(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual; B. select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual; C. select date(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual; D. select chr(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;
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.在Oracle中发出的下列查询: SQL> select months_between( ‘15-MAR-83’, ‘15-MAR-97’) form dual; Oracle返回什么?
A.14 B.-14 C.168 D.-168
22.你要在Oracle中使用日期信息的格式掩码。下列哪种情形不适合这个格式掩码?
A.to_date() B.to_char() C.alter session set nls_date_format D.to_number() 23.数据库中有两表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’;
24.开发报表时,要连接三个表的信息,这些表为EMP、DEPT与SALGRADE。只需要公司10级以上员工相应的员工、部门地址与工资范围的记录。这个查询需要多少比较运算?
A.2 B.3 C.4 D.5
25.要连接两个表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#;
相关推荐: