Oracle笔试题及答案

Oracle笔试题及答案
Oracle笔试题及答案

一、选择题(每题1分)

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 left 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-82 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-DEC-82 1100 20

7900 JAMES CLERK 7698 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

trunc(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

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 trunc(-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 trunc(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,PRODUCT表中列出各个产品的惟一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, https://www.360docs.net/doc/9214686267.html,, storage.loc from product, storage where product.box#=storage.box#;

B.select product.id, https://www.360docs.net/doc/9214686267.html,, storage.loc from product join storage on product.box#=storage.box#;

C.select product.id, https://www.360docs.net/doc/9214686267.html,, storage.loc from product natural join storage

on product.box#=storage.box#;

D.select product.id, https://www.360docs.net/doc/9214686267.html,, 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 emp 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 emp 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 emp 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 emp e right outer join addr a where e.empno = a.empno(+) and a.state = ‘TEXAS’;

31.检查SQL *Plus的下列输出:

PRODUCT.ID https://www.360docs.net/doc/9214686267.html, 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 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 regions where reg_head in (‘SMITHERS’, ‘FUJMORI’, ‘LAKKARAJU’)) and product =’TOYS’; B.select sum(profit) from profits where region like (select region froms regions where reg_head in (‘SMITHERS’, ‘FUJMORI’, ‘LAKKARAJU’) and product =’TOYS’ ); C.select sum(profit) from profits where region = (select region froms regions where reg_head in (‘SMITHERS’, ‘FUJMORI’, ‘LAKKARAJU’)) and product =’TOYS’; D.select sum(profit) from profits where region is (select region froms regions 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 from emp e2

6* where nvl(e.deptno,99) = nvl(e2.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.检查下列代码段中的脚本dates.sql:

accept v_hiredate prompt ‘enter hire date => ’

select empno, ename, job

from emp

where trunc(hiredate) = trunc(‘&v_hiredate’);

为了使脚本正确工作,要改变哪个方面?

A.变量v_hiredate应变成接受DATE信息。 B.查询中的trunc()函数应删除。C.accept命令中的prompt子句是多余的。 D.这个脚本很好。

44.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 51cats as select c_name, c_weight from cats where c_weight > 5;

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

object。下列哪个选项无法纠正这个错误?

A.以不同的用户身份生成对象。 B.删除现有同名对象

C.改变生成对象中的列名。 D.更名现有同名对象。

46.SALES表中的PROFITS列声明为NUMBER(10, 2)。下列哪个值无法在这个列中存储?A.5392845.324 B.871039453.1 C.75439289.34 D.60079829.25

47.员工KING于1981年11月17日聘用,你对Oracle数据库发出下列查询:select

vsize(hiredate) from emp where ename = ‘KING’。下列哪个选项是返回的值?A.4 B.7 C.9 D.17

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

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

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

49.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值

50.删除Oracle数据库中父/子关系中的父表。在删除父表时下列哪个对象不会删除?A.相关约束 B.子表 C.相关触发器 D.相关索引

二、问答题(每题10分)

1. 什么是事务、特点、在Oracle中具体的应用?

2. oracle中如何获取系统时间?

3. Truncate与delete的区别?

4. DDL和DML分别代表什么?

5. Oracle使用什么语句给用户分配权限?

答案:

选择题:

1.A

2.C

3.D

4.B

5.C

6.C

7.C

8.D

9.C 10.A

11.D 12.B 13.C 14.C 15.AC

16.D 17.D 18.B 19.A 20.B

21.B 22.A 23.D 24.D 25.C

26.B 27.C 28.D 29.B 30.C

31.A 32.D 33.C 34.D 35.C

36.C 37.B 38.A 39.A 40.C

41.B 42.C 43.A 44.D 45.C

46.B 47.B 48.C 49.B 50.B

问答题:

1.事务是数据库中最小的一个逻辑工作单元。

特点:ACID,分别指

事务的原子性:就是事务所包含的数据库操作要么都做,要么都不做;

事务的一致性:是事务原子性的体现,事务所对应的数据库操作要么成功要么失败没有第三种情况。事务不管是提交成功与否都不能影响数据库数据的一致性状态;

事务的隔离性:事务对数据的操作不能够受到其他事务的影响;

事务的持续性:也就是说事务对数据的影响是永久的。

在oracle中已commit或rollback作为上一个事务的结束标志及下一个新事物开始的标志。

2.select sysdate from dual;

3.delete一般用于删除少量记录的操作,而且它是要使用回滚段并且要进行显

示的提交事务。而truncate则使用于大量删除数据,而且隐式提交事务,其速度要比使用delete快的

4.DDL表示数据定义语言,在ORACLE中主要包括CREATE,ALTER,DROP;

DML表示数据操作语言,主要的DML有SELECT,INSERT,UPDATE,DELETE.

5. GRANT 权限列表TO 用户;

Oracle笔试题B

《Oracle数据应用》期末(考试)试卷(B) 班级:姓名:学号: 一、选择题(具体要求,本大题共20道小题,每小题2分,共40分) 1.在Oracle中,有一个教师表teacher的结构如下: ID NUMBER(5) NAME V ARCHAR2(25) EMAIL VARCHAR2(50) 下面哪个语句显示没有Email地址的教师姓名()。 A.SELECT name FROM teacher WHERE email != NULL; B.S ELECT name FROM teacher WHERE email <> NULL; C.S ELECT name FROM teacher WHERE email IS NULL; D.SELECT name FROM teacher WHERE email IS NOT NULL; 2.在Oracle数据库的逻辑结构中有以下组件: A 表空间 B 数据块 C 区 D 段 这些组件从大到小依次是()。 A.A→B→C→D B.A→D→C→B C.A→C→B→D D.D→A→C→B 3.在Windows操作系统中,Oracle的()服务监听并接受来自客户端应用程序的连接请求( ) A.OracleHOME_NAMETNSListener B.OracleServiceSID C.OracleHOME_NAMEAgent D.OracleHOME_NAMEHTTPServer 4.在Oracle 中创建用户时,若未提及DEFAULT TABLESPACE 关键字,则Oracle 就将( b )表空间分配给用户作为默认表空间SHL AX,2

oracle练习题及答案

WORD格式 1.找出各月倒数第3天受雇的所有员工 selectenamefromempwherelast_day(hiredate)-2=hiredate; 2.找出早于12年前受雇的员工 selectenamefromempwheremonths_between(sysdate,hiredate)>=144; 3.以首字母大写的方式显示所有员工的姓名 selectinitcap(ename)fromemp; 4.显示正好为5个字符的员工的姓名 selectenamefromempwherelength(ename)=5; 5.显示不带有“R”的员工姓名 selectenamefromempwhereinstr(ename,'R',1,1)=0; 6.显示所有员工姓名的前三个字符 selectsubstr(ename,1,3)fromemp; 7.显示所有员工的姓名,用“a”替换所有的“A” selectename,replace(ename,'A','a')fromemp; 8.显示满10年服务年限的员工的姓名和受雇日期 selectename,hiredatefromempwheremonths_between(sysdate,hiredate)>=120; 9.显示员工的详细资料,按姓名排序 select*fromemporderbyenamedesc; 10.显示员工的姓名和受雇日期,根据其服务年限,将最老的员工排在最前面selectename,hiredatefromemporderbyhiredate; 11.显示所有员工的姓名、工作和薪金,按照工作的降序排序,若工作相同则按薪金排序selectename,job,salfromemporderbyjobdesc,sal; 12.显示所有员工的姓名、加入公司的年份和月份,按受雇日期所在月排序,若月份 相同则将最早年份的员工排在最前面 selectename,to_char(hiredate,'yyyy')h,to_char(hiredate,'mm')m fromemporderbym,h; 13.显示在一个月为30天的情况所有员工的日薪金,忽略余数 selecttrunc(sal/30)fromemp; 14.找出在(任何年份的)2月受聘的所有员工 selectenamefromempwhereto_char(hiredate,'mm')=2; 15.对于每个员工显示其加入公司的天数 selectename,sysdate-hiredatefromemp; 16.显示姓名字段的任何位置包含“A”的所有员工姓名 selectenamefromempwhereinstr(ename,'A',1,1)<>0; selectenamefromempwhereenamelike'%A%'; 专业资料整理

中南大学oracle数据库期末考试试题及答案

A1、以下()内存区不属于SGA。 A.PGA B.日志缓冲区C.数据缓冲区D.共享池 D2、()模式存储数据库中数据字典的表和视图。 A.DBA B.SCOTT C.SYSTEM D.SYS C3、在Oracle中创建用户时,若未提及DEFAULT TABLESPACE 关键字,则Oracle就将()表空间分配给用户作为默认表空间。 A.HR B.SCOTT C.SYSTEM D.SYS A4、()服务监听并按受来自客户端应用程序的连接请求。 A.OracleHOME_NAMETNSListener B.OracleServiceSID C.OracleHOME_NAMEAgent D.OracleHOME_NAMEHTTPServer B5、()函数通常用来计算累计排名、移动平均数和报表聚合等。 A.汇总B.分析C.分组D.单行 B6、()SQL语句将为计算列SAL*12生成别名Annual Salary A.SELECT ename,sal*12 …Annual Salary? FROM emp; B.SELECT ename,sal*12 “Annual Salary” FROM emp; C.SELECT ename,sal*12 AS Annual Salary FROM emp; D.SELECT ename,sal*12 AS INITCAP(“Annual Salary”) FROM emp; B7、锁用于提供( )。 A.改进的性能

B.数据的完整性和一致性 C.可用性和易于维护 D.用户安全 C8、( )锁用于锁定表,允许其他用户查询表中的行和锁定表,但不允许插入、更新和删除行。 A.行共享B.行排他C.共享D.排他 B9、带有( )子句的SELECT语句可以在表的一行或多行上放置排他锁。 A.FOR INSERT B.FOR UPDATE C.FOR DELETE D.FOR REFRESH C10、使用( )命令可以在已分区表的第一个分区之前添加新分区。 A.添加分区B.截断分区 C.拆分分区D.不能在第一个分区前添加分区 C11、( )分区允许用户明确地控制无序行到分区的映射。 A.散列B.范围C.列表D.复合 C12、可以使用()伪列来访问序列。 A.CURRVAL和NEXTVAL B.NEXTVAL和PREVAL C.CACHE和NOCACHE D.MAXVALUE和MINVALUE A13、带有错误的视图可使用()选项来创建。 A.FORCE B.WITH CHECK OPTION C.CREATE VIEW WITH ERROR

2019年oracle期末考试试题及答案

A.PGA B.日志缓冲区C.数据缓冲区D.共享池 2、()模式存储数据库中数据字典的表和视图。 A.DBA B.SCOTT C.SYSTEM D.SYS 3、在Oracle中创建用户时,若未提及DEFAULT TABLESPACE关键字,则Oracle就将() 表空间分配给用户作为默认表空间。 A.HR B.SCOTT C.SYSTEM D.SYS 4、()服务监听并按受来自客户端应用程序的连接请求。 A.OracleHOME_NAMETNSListener B.OracleServiceSID C.OracleHOME_NAMEAgent D.OracleHOME_NAMEHTTPServer 5、()函数通常用来计算累计排名、移动平均数和报表聚合等。 A.汇总B.分析C.分组D.单行 6、()SQL语句将为计算列SAL*12生成别名Annual Salary A.SELECT ename,sal*12 ‘Annual Salary’ FROM emp; B.SELECT ename,sal*12 “Annual Salary” FROM emp; C.SELECT ename,sal*12 AS Annual Salary FROM emp; D.SELECT ename,sal*12 AS INITCAP(“Annual Salary”) FROM emp; 7、锁用于提供( )。 A.改进的性能 B.数据的完整性和一致性 C.可用性和易于维护 D.用户安全 8、( )锁用于锁定表,允许其他用户查询表中的行和锁定表,但不允许插入、更新和删除 行。 A.行共享B.行排他C.共享D.排他 9、带有( )子句的SELECT语句可以在表的一行或多行上放置排他锁。 A.FOR INSERT B.FOR UPDATE C.FOR DELETE D.FOR REFRESH 10、使用( )命令可以在已分区表的第一个分区之前添加新分区。 A.添加分区B.截断分区 C.拆分分区D.不能在第一个分区前添加分区 11、( )分区允许用户明确地控制无序行到分区的映射。 A.散列B.范围C.列表D.复合 12、可以使用()伪列来访问序列。 A.CURRVAL和NEXTVAL B.NEXTVAL和PREVAL C.CACHE和NOCACHE D.MAXVALUE和MINVALUE 13、带有错误的视图可使用()选项来创建。 A.FORCE B.WITH CHECK OPTION C.CREATE VIEW WITH ERROR D.CREATE ERROR VIEW

Oracle数据库试题及答案

Oracle数据库试题 一、选择题 1、段是表空间中一种逻辑存储结构,以下( D )不是ORACLE数据库使用的段类型。(A)索引段(B)临时段(C)回滚段(D)代码段 2、 ORACLE数据库物理结构包括以下三种文件,以下不属于的是( A )。 ?(A)系统文件(B)日志文件(C)数据文件(D)控制文件 3、数据库中有两个用户scott和muuser,物资表wz是属于myuser用户的,但当前用户是scott,要求查询物资表wz(wno,wname,wtype,wunit)物资单位wunit列为null的记录,取结果的前5条记录显示,以下正确的SQL语句是( C ) (A)select*from scott.wz where wunit is null and rownum<5; (B)select*from myuser.wz where wunit = null and rownum<5; (C) select*from myuser.wz where wunit is null and rownum<6; (D)select*form scott.wz where wunit is null and rownum<6; ?4、若当前日期为’25-5月-06’,以下( D? )表达式能计算出5个月后那一天所在月份的最后一天的日期。 (A)NEXT_DAY(ADD_MONTHS(28-5月-06,5)) (B)NEXT_DAY(MONTHS_BETWEEN(28-5月-06,5)) (C)NEXT_DAY(MONTHS_BETWEEN(’28-5月-06’,5)) (D)NEXT_DAY(ADD_MONTHS(’28-5月-06’,5)) 5、下列叙述中正确的是_C_。 A、数据库是一个独立的系统,不需要操作系统的支持 B、数据库设计是指设计数据库管理系统 C、数据库技术的根本目标是要解决数据共享的问题 D、数据库系统中,数据的物理结构必须与逻辑结构一致 6、SQL语句中修改表结构的命令是 ???C?? ?。 A、MODIFY TABLE B、MODIFY STRUCTURE C、ALTER TABLE D、ALTER STRUCTURE 7、数据库DB、数据库系统DBS、数据库管理系统DBMS三者之间的关系是__ A___。 A、DBS包括DB和DBMS B、DBMS包括DB和DBS C、DB包括DBS和DBMS D、DBS就是DB,也就是DBMS 8、要控制两个表中数据的完整性和一致性可以设置"参照完整性",要求这两个表_A___。 A、是同一个数据库中的两个表 B、不同数据库中的两个表 C、两个自由表 D、一个是数据库表另一个是自由表 9、在关系模型中,实现"关系中不允许出现相同的元组"的约束是通过__B_ __。 A、候选键 B、主键 C、外键 D、超键 10、索引字段值不唯一,应该选择的索引类型为___ B__。 A、主索引 B、普通索引 C、候选索引 D、唯一索引 11、从数据库中删除表的命令是___C __。 A、DROP TABLE B、ALTER TABLE C、DELETE TABLE D、USE 12、 DELETE FROM S WHERE 年龄>60语句的功能是___B___。 A、从S表中彻底删除年龄大于60岁的记录 B、S表中年龄大于60岁的记录被加上删除标记

oracle数据库试题

ORACLE数据库试题 74 姓名:戴希引 一、选择题(总分50分,每题1分,*为多选)42 1.下列不属于ORACLE的逻辑结构的是(C) A 区 B 段 C 数据文件 D表空间 2. 下面哪个用户不是ORACLE缺省安装后就存在的用户( A ) A . SYSDBA B. SYSTEM C. SCOTT D. SYS 3 下面哪个操作会导致用户连接到ORACLE数据库,但不能创建表(A ) A 授予了CONNECT的角色,但没有授予RESOURCE的角色 B没有授予用户系统管理员的角色 C数据库实例没有启动 D数据库监听没有启动 4. 在Oracle中,当FETCH语句从游标获得数据时,下面叙述正确的是( C ) A 游标打开 B游标关闭 C当前记录的数据加载到变量中 D创建变量保存当前记录的数据 5. 在Oracle中,下面关于函数描述正确的是( A D)* A SYSDATE函数返回Oracle服务器的日期和时间 B ROUND数字函数按四舍五入原则返回指定十进制数最靠近的整数 C ADD_MONTHS日期函数返回指定两个月份天数的和 D SUBSTR函数从字符串指定的位置返回指定长度的子串 6. 阅读下面的PL/SQL程序块: BEGIN INSERT INTO employee(salary,last_name,first_name)VALUES(35000,’Wang’,'Fre d ’); SAVEPOINT save_a; INSERT INTO employee(salary,last_name,first_name) VALUES(40000,’Woo’,'David’); SAVEPOINT save_b; DELETE FROM employee WHERE dept_no=10; SAVEPOINT save_c; INSERT INTO employee(salary,last_name,first_name) VALUES(25000,’Lee’,'Bert’); ROLLBACK TO SAVEPOINT save_c;

ORACLE数据库期末考试题目及答案

期末考试卷(卷) 课程名称:数据库考试方式:开卷()闭卷(√) 、本试卷共4 页,请查看试卷中是否有缺页。 2、考试结束后,考生不得将试卷、答题纸带出考场。 1、以下(a )内存区不属于SGA。 A.PGA B.日志缓冲区 C.数据缓冲区 D.共享池 2、d )模式存储数据库中数据字典的表和视图。 (A.DBA B.SCOTT C.SYSTEM D.SYS 3、Oracle 中创建用户时,在若未提及DEFAULT TABLESPACE 关键字,Oracle 就将 c )则(表空间分配给用户作为默认表空间。A.HR B.SCOTT C.SYSTEM D.SYS

4、a )服务监听并按受来自客户端应用程序的连接请求。(A.OracleHOME_NAMETNSListener B.OracleServiceSID C.OracleHOME_NAMEAgent D.OracleHOME_NAMEHTTPServer 5、b )函数通常用来计算累计排名、移动平均数和报表聚合等。(A.汇总B.分析C.分组D.单行 6、b)SQL 语句将为计算列SAL*12 生成别名Annual Salary (A.SELECT ename,sal*12 …Annual Salary? FROM emp; B.SELECT ename,sal*12 “Annual Salary” FROM emp; C.SELECT ename,sal*12 AS Annual Salary FROM emp; D.SELECT ename,sal*12 AS INITCAP(“Annual Salary”) FROM emp; 7、锁用于提供(b )。 A.改进的性能 B.数据的完整性和一致性 C.可用性和易于维护 D.用户安全 8、( c )锁用于锁定表,允许其他用户查询表中的行和锁定表,但不允许插入、更新和删除行。 A.行共享B.行排他C.共享D.排他 9、带有( b )子句的SELECT 语句可以在表的一行或多行上放置排他锁。 A.FOR INSERT B.FOR UPDATE C.FOR DELETE D.FOR REFRESH

Oracle 笔试题目带答案

1.( )程序包用于读写操作系统文本文件。(选一项) A、Dbms_output B、Dbms_lob C、Dbms_random D、Utl_file 2.( )触发器允许触发操作的语句访问行的列值。(选一项) A、行级 B、语句级 C、模式 D、数据库级 3.( )是oracle在启动期间用来标识物理文件和数据文件的二进制文件。(选一项) A、控制文件 B、参数文件 C、数据文件 D、可执行文件 4.CREATE TABLE 语句用来创建(选一项) A、表 B、视图 C、用户 D、函数 5.imp命令的哪个参数用于确定是否要倒入整个导出文件。(选一项) A、constranints B、tables C、full D、file 6.ORACLE表达式NVL(phone,'0000-0000')的含义是(选一项) A、当phone为字符串0000-0000时显示空值 B、当phone为空值时显示0000-0000 C、判断phone和字符串0000-0000是否相等 D、将phone的全部内容替换为0000-0000 7.ORACLE交集运算符是(选一项) A、intersect B、union C、set D、minus 8.ORACLE使用哪个系统参数设置日期的格式(选一项) A、nls_language

B、nls_date C、nls_time_zone D、nls_date_format 9.Oracle数据库中,通过()访问能够以最快的方式访问表中的一行(选一项) A、主键 B、Rowid C、唯一索引 D、整表扫描 10.Oracle数据库中,下面()可以作为有效的列名。(选一项) A、Column B、123_NUM C、NUM_#123 D、#NUM123 11.Oracle数据库中,以下()命令可以删除整个表中的数据,并且无法回滚(选一项) A、drop B、delete C、truncate D、cascade 12.Oracle中, ( )函数将char或varchar数据类型转换为date数据类型。(选一项) A、date B、to_date C、todate D、ctodate 13.ORACLE中,执行语句:SELECT address1||','||address2||','||address2 "Address" FROM employ; 将会返回()列(选一项) A、0 B、1 C、2 D、3 14.Oralce数据库中,以下()函数可以针对任意数据类型进行操作。(选一项) A、TO_CHAR B、LOWER C、MAX D、CEIL 15.partition by list(msn_id)子句的含义是(选一项) A、按msn_id列进行范围分区 B、按msn_id列进行列表分区

oracle考试试题及答案

试题一 一、填空题(每小题4分,共20分) 1、数据库管理技术经历了人工管理、文件系统、数据库系统三个阶段 2、数据库三级数据结构是外模式、模式、内模式 3、Oracle数据库中,SGA由数据库缓冲区,重做日志缓冲区,共享池组成 4、在Oracle数据库中,完正性约束类型有Primay key约束。Foreign key约束,Unique约束,check约束,not need约束 5、PL/SQL中游标操作包括声明游标,打开游标,提取游标,关闭游标 二、正误判断题(每小题2分,共20分) 1、数据库中存储的基本对象是数据(T) 2、数据库系统的核心是DBMS(T) 3、关系操作的特点是集合操作(T) 4、关系代数中五种基本运算是并、差、选择、投影、连接(F) 5、Oracle进程就是服务器进程(F) 6、oraclet系统中SGA所有用户进程和服务器进程所共享(T) 7、oracle数据库系统中数据块的大小与操作系统有关(T) 8、oracle数据库系统中,启动数据库和第一步是启动一个数据库实例(T) 9、PL/SQL中游标的数据是可以改变的(F) 10、数据库概念模型主要用于数据库概念结构设计() 三、简答题(每小题7分,共35分) 1、何谓数据与程序的逻辑独立性和物理独立性? 2、试述关系代数中等值连接与自然连接的区别与联系? 3、何谓数据库,数据库设计一般分为哪些阶段? 4、简述Oracle逻辑数据库的组成?

5、试任举一例说明游标的使用方法? 五、设有雇员表emp(empno,ename,age,sal,tel,deptno), 其中:empno-----编号,name------姓名,age -------年齡,sal-----工资,tel-----电话 deptno-----部门号。 请按下列要求分别晨SQL*PLUS下编程。(每小题3分,共15分)?1、查询家有电话的职工信息。 ?2、查询工资在500至800元之间的雇员信息 ?3、按年龄递增顺序显示雇员编号、姓名、年龄、工资 ?4、求部门号为D_01的平均工资 ?5、查找部门号为D_01的40岁以上而工资在400元以下的雇员名单。 1、SQL>SELECT * FROM emp WHERE tel NOT NULL; 2、SQL>SELECT * FROM emp WHERE BETWEEN 500 AND 800; 3、SQL>SELECT empno,ename,age,sal FROM emp ORDER BY age ASC; 4、SQL>SELECT AVG(sal) FROM emp WHERE deptno='D_01'; 5、SQL>SELECT ename FROM emp WHERE deptno='D_01' AND age>40 AND Sal<400; ? 试题一答案 一、填空题 1、人工管理、文件系统、数据库系统 2、外模式、模式、内模式 3、数据库缓冲区,重做日志缓冲区,共享池 4、Primay key约束。Foreign key约束,Unique约束,check约束,not need 约束 5、声明游标,打开游标,提取游标,关闭游标 二、正误判断题 1、T 2、T 3、T 4、F 5、F 6、T 7、T 8、T 9、F 三、(略) 五、 1、SQL>SELECT * FROM emp WHERE tel NOT NULL; 2、SQL>SELECT * FROM emp WHERE BETWEEN 500 AND 800; 3、SQL>SELECT empno,ename,age,sal FROM emp ORDER BY age ASC; 4、SQL>SELECT AVG(sal) FROM emp WHERE deptno='D_01'; 5、SQL>SELECT ename FROM emp WHERE deptno='D_01' AND age>40 AND Sal<400; 试题二

几个Oracle的笔试题

Oracle笔试试题 1. SQL必备 <选择题每空 1 分共 14题> 1. 如果在where子句中有两个条件要同时满足,应该用以下哪个逻辑符来连接 ( ) A.OR B.NOT C.AND D.NONE 2. 外连接的条件可以放在以下的那一个子句中( ) A.FROM B.WEHRE C.SELECT D.HAVING E.GROUP BY F.ORDER BY 3. 在从两个表中查询数据时,连接条件要放在哪个子句中( ) A.FROM B.WHERE C.SELECT D.HAVING E.GROUP BY 4. 用以下哪个子句来限制分组统计结果信息的显示( ) A.FROM B.WEHRE C.SELECT D.HAVING E.GROUP BY F.ORDER BY 5. 以下需求中哪个需要用分组函数来实现( ) A.把ORDER表中的定单时间显示成 'DD MON YYYY' 格式 B.把字符串 'JANUARY 28, 2000' 转换成日期格式 C.显示PRODUCT 表中的COST 列值总量 D.把PRODUCT表中的DESCRIPTION列用小写形式显示 6. 以下那些命令可以暗含提交操作( )

A.GRANT B.UPDATE C.SELECT D.ROLLBACK 7.RDBMS是下列哪一项的缩写( ) A. Relational DataBase Management System(关系数据库管理系统) B. Relational DataBase Migration System(关系数据库移植系统) C. Relational Data Migration System(关系数据移植系统) D. Relational DataBase Manage System(关系数据库管理系统) 8.INSERT 是( ) A. DML语句 B. DDL语句 C. DCL语句 D. DTL语句 9.SELECT CHR(66) FROM DUAL的结果是( ) A. Z B. S C. B D. 都不是 10.函数返回一个值除以另一个值后的余数( ) A. MOD B. ABS C. CEIL D. 以上都不是 11. 什么锁用于锁定表,仅允许其他用户查询表中的行,行不允许插入,更新, 或删除行( ) A. 共享 B. 排他 C. 共享更新 D. 以上都不是 12.什么是oracle提供的一个对象,可以生成唯一的连续的整数( ) A. 同义词 B. 序列 C. 视图 D. 没有 13. 那种类型的约束可以自动创建索引( ) A.CHECK B.UNIQUE

Oracle笔试题及答案

一、选择题(每题1分) 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 left 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

oracle数据库期末考试试题及复习资料

oracle数据库期末考试试题及答案 A1、以下()内存区不属于SGA。 A.PGA B.日志缓冲区C.数据缓冲区D.共享池 D2、()模式存储数据库中数据字典的表和视图。 A.DBA B.SCOTT C.SYSTEM D.SYS C3、在Oracle中创建用户时,若未提及DEFAULT TABLESPACE 关键字,则Oracle就将()表空间分配给用户作为默认表空间。 A.HR B.SCOTT C.SYSTEM D.SYS A4、()服务监听并按受来自客户端应用程序的连接请求。 A.OracleHOME_NAMETNSListener B.OracleServiceSID C.OracleHOME_NAMEAgent D.OracleHOME_NAMEHTTPServer B5、()函数通常用来计算累计排名、移动平均数和报表聚合等。 A.汇总B.分析C.分组D.单行 B6、()SQL语句将为计算列SAL*12生成别名Annual Salary A.SELECT ename,sal*12 ‘Annual Salary’ FROM emp; B.SELECT ename,sal*12 “Annual Salary” FROM emp; C.SELECT ename,sal*12 AS Annual Salary FROM emp; D.SELECT ename,sal*12 AS INITCAP(“Annual Salary”) FROM

emp; B7、锁用于提供( )。 A.改进的性能 B.数据的完整性和一致性 C.可用性和易于维护 D.用户安全 C8、( )锁用于锁定表,允许其他用户查询表中的行和锁定表,但不允许插入、更新和删除行。 A.行共享B.行排他C.共享D.排他 B9、带有( )子句的SELECT语句可以在表的一行或多行上放置排他锁。 A.FOR INSERT B.FOR UPDATE C.FOR DELETE D.FOR REFRESH C10、使用( )命令可以在已分区表的第一个分区之前添加新分区。 A.添加分区B.截断分区 C.拆分分区D.不能在第一个分区前添加分区 C11、( )分区允许用户明确地控制无序行到分区的映射。 A.散列B.范围C.列表D.复合 C12、可以使用()伪列来访问序列。 A.CURRVAL和NEXTVAL B.NEXTVAL和PREVAL C.CACHE和NOCACHE D.MAXVALUE和MINVALUE A13、带有错误的视图可使用()选项来创建。

Oracle面试题库_3

Oracle面试题库 END LOOP;7. 当在一个PLSQL块中通过查询得到一个值,但是没有任何值返回时,会产生异常吗?如果产生,是什么异常?A 不会有异常,只不过没有结果而已B 有异常,异常为No_data_foundC 有异常,异常为Value_erroD 编译都不通过8. 在PLSQL块中处理异常的语句是 A EXCEPTIONIF EXCEPTION_NAME THENDBMS_OUTPUT.PUT_LINE();END;B EXCEPTIONWHEN EXCEPTION_NAME THENDBMS_OUTPUT.PUT_LINE();END EXCEPTION ;C WHEN EXCEPTION_NAME THENDBMS_OUTPUT.PUT_LINE();D BEGINNULL;EXCEPTIONWHEN EXCEPTION_NAME THENDBMS_OUTPUT.PUT_LINE();END ;9. 当用户在PLSQL块中,像抛出自定义异常或者是系统异常时,所使用的关键字是 A THROWB RAISEC RAISE_APPLICATION_ERRORD EXCEPTION10. 在自定义异常中,用户可用的错误号范围在A 20000 ~ 29999B -20000 ~ -20999C 1~65535D 没有限制11. 阅读代码DECLAREBEGINDBMS_OUTPUT.PUT_LINE(‘外不快’);DECLAREMYEXCE EXCEPTION;BEGINRAISE MYEXCE;END;EXCEPTIONWHEN MYEXCE THENDBMS_OUTPUT.PUT_LINE(‘异常捕获’);END;出现的结果是

ORACLE数据库工程师面试题目

1. 解释冷备份和热备份的不同点以及各自的优点 解答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。(因为不必将archive log写入硬盘) 2. 你必须利用备份恢复数据库,但是你没有控制文件,该如何解决问题呢? 解答:重建控制文件,用带backup control file 子句的recover 命令恢复数据库。 3. 如何转换init.ora到spfile? 解答:使用create spfile from pfile 命令. 4. 解释data block , extent 和segment的区别(这里建议用英文术语) 解答:data block是数据库中最小的逻辑存储单元。当数据库的对象需要更多的物理存储空间时,连续的data block就组成了extent . 一个数据库对象拥有的所有extents被称为该对象的segment. 5. 给出两个检查表结构的方法 解答:1.DESCRIBE命令 2.DBMS_METADATA.GET_DDL 包 6. 怎样查看数据库引擎的报错 解答:alert log. 7. 比较truncate和delete 命令 解答:两者都可以用来删除表中所有的记录。区别在于:truncate是DDL操作,它移动HWK,不需要rollback segment .而Delete是DML操作, 需要rollback segment 且花费较长时间. 8. 使用索引的理由 解答:快速访问表中的data block 9. 给出在STAR SCHEMA中的两种表及它们分别含有的数据 解答:Fact tables 和dimension tables. fact table 包含大量的主要的信息而dimension t ables 存放对fact table 某些属性描述的信息

Oracle数据库基础题库【含答案】

1、判断题,正确请写写"T",错误请写写"F", 1、oracle数据库系统中,启动数据库的第一步是启动一个数据库实 例。( T )2、Oracle服务器端的监听程序是驻留在服务器上的单独 进程,专门负责响应客户机的连接请求。( F) 3、oracle数据库中实例和数据库是一一对应的(非ORACLE并行服务, 非集群)。( T) 4、系统全局区SGA 是针对某一服务器进程而保留的内存区域,它是不 可以共享的。( F ) 5、数据库字典视图ALL_***视图只包含当前用户拥有的数据库对象信 息。( F ) 8、数据字典中的内容都被保存在SYSTEM表空间中。( T ) 9、HAVING后面的条件中可以有聚集函数,比如SUM(),AVG()等, WHERE 后面的条件中也可以有聚集函数。( F ) 10、"上海西北京" 可以通过like ‘%上海_’查出来。( F ) 11、表空间是oracle 最大的逻辑组成部分。Oracle数据库由一个或多 个表空间组成。一个表空间由一个或多个数据文件组成,但一个数据文 件只能属于一个表空间。( T ) 12、表空间分为永久表空间和临时表空间两种类型。( T ) 13、truncate是DDL操作,不能 rollback。( T ) 14、如果需要向表中插入一批已经存在的数据,可以在INSERT语句中使 用WHERE语句。( F ) 15、Oracle数据库中字符串和日期必须使用双引号标识。( F ) 16、Oracle数据库中字符串数据是区分大小写的。( T ) 17、Oracle数据库中可以对约束进行禁用,禁用约束可以在执行一些特 殊操作时候保证操作能正常进行。( F ) 18、为了节省存储空间,定义表时应该将可能包含NULL值的字段放在字 段列表的末尾。( T )  20、在连接操作中,如果左表和右表中不满足连接条件的数据都出现在 结果中,那么这种连接是全外连接。( T ) 21、自然连接是根据两个表中同名的列而进行连接的,当列不同名时, 自然连接将失去意义。( T ) 23、PL/SQL代码块声明区可有可无。( T ) 24、隐式游标与显式游标的不同在于显式游标仅仅访问一行,隐式的可 以访问多行。( F )

Oracle数据库试题

请将下列试题的正确答案写在答题栏里。(每小题2分) 1.当Oracle服务器启动时,下列哪种文件不是必须的()。 A.数据文件 B.控制文件 C.日志文件 D.归档日志文件 2.在Oracle中,当用户要执行SELECT语句时,下列哪个进程从磁盘获得用户需要的数据()。 A.用户进程 B.服务器进程 C.日志写入进程(LGWR D.检查点进程(CKPT) 3.在Oracle中,一个用户拥有的所有数据库对象统称为()。 A.数据库 B.模式 C.表空间 D.实例 4.在Oracle中,有一个教师表teacher的结构如下: ID NUMBER(5) NAME V ARCHAR2(25) EMAIL VARCHAR2(50) 下面哪个语句显示没有Email地址的教师姓名()。 A.SELECT name FROM teacher WHERE email = NULL; B.SELECT name FROM teacher WHERE email <> NULL; C.SELECT name FROM teacher WHERE email IS NULL; D.SELECT name FROM teacher WHERE email IS NOT NULL; 5.在Oracle数据库的逻辑结构中有以下组件: A 表空间 B 数据块 C 区 D 段 这些组件从大到小依次是()。 A.A→B→C→D B.A→D→C→B C.A→C→B→D D.D→A→C→B 6.在Windows操作系统中,Oracle的()服务监听并接受来自客户端应用程序的连接请求。 A.OracleHOME_NAMETNSListener

Oracle试题

模块一 SQL(DQL) Part I(第一天) 01. 查询员工表所有数据, 并说明使用*的缺点 答: select * from emp; 使用*的缺点有 a) 查询出了不必要的列 b) 效率上不如直接指定列名 02. 查询职位(JOB)为'PRESIDENT'的员工的工资 答: select * from emp where job = 'PRESIDENT'; 03. 查询佣金(COMM)为0 或为NULL 的员工信息 答:重点是理解0 与null 的区别 select * from emp where comm = 0 or comm is null; 04. 查询入职日期在1981-5-1 到1981-12-31 之间的所有员工信息 答:通过此题掌握常用日期函数 select * from emp where hiredate between to_date('1981-5-1','yyyy-mm-dd') and to_date('1981-12-31','yyyy-mm-dd'); 05. 查询所有名字长度为4 的员工的员工编号,姓名 答: select * from emp where length(ename) = 4;

06. 显示10 号部门的所有经理('MANAGER')和20 号部门的所有职员('CLERK')的详细信息 答: select * from emp where deptno = 10 and job = 'MANAGER' or deptno = 20 and job ='CLERK'; 07. 显示姓名中没有'L'字的员工的详细信息或含有'SM'字的员工信息 答:考察知识点模糊查询 select * from emp where ename not like '%L%' or ename like '%SM%'; 08. 显示各个部门经理('MANAGER')的工资 答: select sal from emp where job = 'MANAGER'; 09. 显示佣金(COMM)收入比工资(SAL)高的员工的详细信息 答: select * from emp where comm > sal; 10. 把hiredate 列看做是员工的生日,求本月过生日的员工(考察知识点:单行函数) 答: select * from emp where to_char(hiredate, 'mm') = to_char(sysdate , 'mm'); 11. 把hiredate 列看做是员工的生日,求下月过生日的员工(考察知识点:单行函数) 答: select * from emp where to_char(hiredate, 'mm') = to_char(add_months(sysdate,1) , 'mm'); 12. 求1982 年入职的员工(考察知识点:单行函数) 答: select * from emp where to_char(hiredate,'yyyy') = '1982'; 13. 求1981 年下半年入职的员工(考察知识点:单行函数) 答: select * from emp where hiredate

相关文档
最新文档