文档库 最新最全的文档下载
当前位置:文档库 › Oracle经典作业与答案

Oracle经典作业与答案

Oracle经典作业与答案
Oracle经典作业与答案

-----------------------day1-----------------------------------

1.查询职员表中工资大于1600的员工姓名和工资

Select ename, sal from emp where sal > 1600;

2.查询职员表中员工号为7369的员工的姓名和部门号码

Select ename, deptno from emp where empno = 7369;

3.选择职员表中工资不在4000到5000的员工的姓名和工资

Select ename, sal from emp where sal not between 4000 and 5000;

4.选择职员表中在20和30号部门工作的员工姓名和部门号

Select ename, deptno from emp where deptno in (20, 30);

5.选择职员表中没有管理者的员工姓名及职位, 按职位排序

Select ename, job from emp where mgr is null order by job;

6.选择职员表中有奖金的员工姓名,工资和奖金,按工资倒序排列

Select ename, sal, comm. From emp where comm is not null order by sal desc;

7.选择职员表中员工姓名的第三个字母是A的员工姓名

Select ename from emp where ename like …__A%?;

8.列出部门表中的部门名字和所在城市;

select dname, loc from dept;

9.显示出职员表中的不重复的岗位job

select distinct job from emp;

10.连接职员表中的职员名字、职位、薪水,列之间用逗号连接,列头显示成

OUT_PUT(提示:使用连接符||、别名)

select ename || ', ' || job || ', ' || OUT_PUT(将列名大写) sal from emp;

11.查询职员表emp中员工号、姓名、工资,以及工资提高百分之20%后的结

select empno, ename, sal, sal * 1.2 salary from emp;

12.查询员工的姓名和工资数,条件限定为工资数必须大于1200,并对查询结果

按入职时间进行排列,早入职排在前面,晚入职排在后面。

select ename, sal from emp where sal > 1200 order by hiredate;

13.列出除了ACCOUNT部门还有哪些部门。

select deptno, dname, loc from dept where dname <> 'ACCOUNT';

-----------------------day2-----------------------------------

1.将员工的姓名按首字母排序,并列出姓名的长度(length)

select ename, length(ename) from emp order by ename;

2.做查询显示下面形式的结果

earns monthly but wants

例如:

Dream Salary

King earns $5000 monthly but wants $15000

select ename || ' earns $' || sal ||' mo nthly but wants $' || sal * 3 “Dream S alary” from emp;

3.使用decode函数,按照下面的条件:

JOB GRADE

PRESIDENT A

MANAGER B

ANALYST C

SALESMAN D

CLERK E

产生类似下面形式的结果

ENAME JOB GRADE

SMITH CLERK E

SELECT ename, job,

DECODE(job,'PRESIDENT','A',

'MANAGER','B',

'ANALYST','C',

'SALESMAN','D',

'CLERK','E'

) AS "Grade"

FROM EMP;

4.查询各员工的姓名ename,并显示出各员工在公司工作的月份数(即:与当前

日期比较,该员工已经工作了几个月, 用整数表示)。

select ename, round(months_between(sysdate, hiredate)) hire_months from emp;

5.现有数据表Customer,其结构如下所示:

cust_id NUMBER(4) Primary Key, --客户编码

cname VARCHAR2(25) Not Null, --客户姓名

birthday DATE, --客户生日

account NUMBER. --客户账户余额

(1).构造SQL语句,列出Customer数据表中每个客户的信息。如果客户生日未提供,则该列值显示“not available” 。如果没有余额信息,则显示“no account”。

(2).构造SQL语句,列出生日在1987年的客户的全部信息。

(3).构造SQL语句,列出客户帐户的余额总数。

1)select cust_id, cname, nvl(to_char(birthday, 'yyyy-mm-dd'), 'not available'),

nvl(to_char(account, '9999'), 'no account') from Customer;

2)select * from Customer where extract(year from birthday) = '1987';

3) select sum(account) from Customer;

6.按照”2009-4-11 20:35:10 ”格式显示系统时间。

select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') now from dual;

7.构造SQL语句查询员工表emp中员工编码empno,姓名ename,以及月收入

(薪水+ 奖金),注意有的员工暂时没有奖金。

select empno, ename, sal + nvl(comm, 0) month_salary from emp;

8.查找员工姓名的长度是5个字符的员工信息。

select * from emp where length(ename) = 5;

9.查询员工的姓名和工资,按下面的形式显示:(提示:使用lpad函数)

NAME SALARY

-----------------------------------------------------

SMITH $$$$$$$$$$24000

select ename name, lpad(sal, 15, '$') salary from emp;

10.查询薪水大于2000元的员工的姓名和薪水,薪水值显示为?RMB5000.00?这

种形式,并对查询结果按薪水的降序方式进行排列;

select ename, to_char(sal, 'L9999.00') salary from emp

where sal > 2000

order by sal desc;

11.构造查询语句,产生类似于下面形式的结果:

NAME HIREDATE REVIEW ----------------------------------------------------------------------------------------- SMITH 1980-12-17 1980年12月17日

select ename name, to_char(hiredate, 'yyyy-mm-dd') hiredate,

to_char(hiredate, 'yyyy"年"mm"月"dd"日"') review

from emp;

12.显示所有员工的姓名ename,部门号deptno和部门名称dname。

Select e.ename, d.deptno, d.dname

From emp e join dept d on e.deptno = d.deptno;

13.选择在DALLAS工作的员工的员工姓名、职位、部门编码、部门名字Select e.ename, d.deptno, d.dname

From emp e join dept d on e.deptno = d.deptno and d.loc = …DALLAS?;

14.选择所有员工的姓名ename,员工号deptno,以及他的管理者mgr的姓名

ename和员工号deptno,结果类似于下面的格式

mag.empno "Mgr#"

from emp wor, emp mag

where wor.mgr = mag.empno;

15.查询各部门员工姓名和他们所在位置,结果类似于下面的格式

from emp e join dept d

using (deptno);

16.查询公司员工工资的最大值,最小值,平均值,总和

select max(sal), min(sal), avg(sal), sum(sal) from emp;

17.列出每个员工的名字,工资、涨薪后工资(涨幅为8%),元为单位进行四

舍五入

Select ename , sal , round(sal*1.08) from emp;

18.查询出JONES的领导是谁(JONES向谁报告)。

select e1.ename from emp e1 , emp e2 where e2.mgr = e1.empno and e2.ename = 'JONES';

19.JONES领导谁。(谁向JONES报告)。

select e1.ename from emp e1 , emp e2 where e1.mgr = e2.empno and e2.ename = 'JONES';

-----------------------day3-----------------------------------

1.查询各职位的员工工资的最大值,最小值,平均值,总和

select job, max(sal), min(sal), avg(sal), sum(sal)

from emp

group by job;

2.选择具有各个job的员工人数(提示:对job进行分组)

select job, count(*)

from emp

group by job;

3.查询员工最高工资和最低工资的差距,列名为DIFFERENCE;

select max(sal)-min(sal) "DIFFERENCE"

from emp;

4.查询各个管理者属下员工的最低工资,其中最低工资不能低于800,没有管

理者的员工不计算在内

select mgr, min(sal)

from emp

where mgr is not null

group by mgr

having min(sal) >= 800;

5.查询所有部门的部门名字dname,所在位置loc,员工数量和工资平均值;select dept.dname, dept.loc, COUNT, AVG

from dept

join(

select deptno, count(*) as "COUNT", avg(sal) as "AVG"

from emp

group by deptno

)

using(deptno);

6.查询和scott相同部门的员工姓名ename和雇用日期hiredate

select ename, hiredate

from emp

where deptno = (select deptno from emp where emp.ename = 'SCOTT'); 7.查询工资比公司平均工资高的所有员工的员工号empno,姓名ename和工

资sal。

select empno, ename, sal

from emp

where sal > (select avg(sal) from emp);

8.查询和姓名中包含字母u的员工在相同部门的员工的员工号empno和姓名

ename

select empno, ename

from emp

where deptno in (select deptno from emp where ename like '%U%');

9.查询在部门的loc为newYork的部门工作的员工的员工姓名ename,部门名

称dname和岗位名称job

select e.ename, d.dname, e.job

from emp e join dept d

using (deptno)

where deptno = (select deptno from dept where loc = 'NEW YORK');

10.查询管理者是king的员工姓名ename和工资sal

select ename, sal

from emp

where mgr = (select empno from emp where ename = 'KING');

11.显示Operations部门有哪些职位

select distinct e.job from emp e , dept d where e.deptno = d.deptno and d.dname = 'Operations';

12.各个部门中工资大于1500的员工人数

select dept_id , count(*) cnt from s_emp where salary > 1500 group by dept_id;

13.哪些员工的工资,高于整个公司的平均工资,列出员工的名字和工资(降序)

select first_name , salary from s_emp where salary > (select avg(salary) from s_emp) order by salary desc;

14.所在部门平均工资高于1500的员工名字

select first_name , salary from s_emp where dept_id in (select dept_id from s_emp group by dpet_id having avg(salary) > 1500);

15.列出各个部门中工资最高的员工的信息:名字、部门号、工资

select first_name , salary , dept_id from s_emp where (dept_id , salary) in (select dept_id , max(salary) from s_emp group by dept_id);

16.哪个部门的平均工资是最高的,列出部门号、平均工资

select dept_id,avg(salary) from s_emp group by dept_id having avg(salary) = (select max(avg(salary)) from s_emp);

-----------------------day4-----------------------------------

1.创建表employee,字段为:

Id number

First_Name varchar2(20),

last_Name varchar2(20),

mgrid NUMBER,

Job varchar2(20),

Salary number(7,2)

CREATE TABLE employee(

id NUMBER,

first_name VARCHAR2(20),

last_name VARCHAR2(20),

mgrid NUMBER,

salary NUMBER(7,2));

2.向表中插入下列数据,并提交,查询数据;

SQL> INSERT INTO employee

VALUES (1, 'Rose', 'Tyler', 4, 1500);

SQL> INSERT INTO employee

VALUES (2, 'Martha', 'Jones', 4, 2200);

SQL> INSERT INTO employee

VALUES (3, 'Donna', 'Noble', 4, 1300);

SQL> INSERT INTO employee

VALUES (4, 'Doctor', 'Who', NULL,3500);

SQL> INSERT INTO employee

VALUES (5, 'Jack', 'Harkness', 1, 3000);

SQL> COMMIT;

4.将3号员工的last_name修改为“Tate”,并提交,查询数据;SQL> UPDATE employee SET last_name = 'Tate'

WHERE id = 3;

5.将所有工资少于2000的员工的工资修改为2000 (不提交),并设置保存点,查询数据;

SQL> UPDATE employee SET salary = 2000 WHERE salary < 2000;

SQL> SAVEPOINT A;

6.删除employee表中所有数据(不提交),查询数据;

SQL> DELETE FROM employee;

SQL> SELECT * FROM employee;

7.回滚到第五题中的设置的保存点,查询数据;

SQL> Rollback to A;

SQL> SELECT * FROM employee;

8.删除表employee中所有数据,并提交,查询数据;

SQL> DELETE FROM employee;

SQL> COMMIT;

SQL> SELECT * FROM employee;

9.现有数据表Customer,其结构如下所示:

cust_id NUMBER(4) Primary Key, --客户编码

cname VARCHAR2(25) Not Null, --客户姓名

csex CHAR(6) --客户性别

birthday DATE, --客户生日

account NUMBER. --客户账户余额

1)、创建表,客户编码为主键,姓名不能为空,性别只能选择”男”或”女”;

CREATE TABLE customer(

cust_id NUMBER PRIMARY KEY,

cname VARCHAR2(25) NOT NULL,

csex CHAR(6),

birthday DATE,

account NUMBER,

CONSTRAINT cust_csex_chk CHECK (csex IN (…男?, …女?),));

2).构造SQL语句,向Customer数据表中插入一条记录,其信息如下:客户编码使用第一步创建的序列获得,客户姓名为sean,性别为”男”,生日为1987-11-17,帐户余额为12345元。

INSERT INTO customer(cust_id, cname, birthday, account) VALUES(cust_seq.NEXTVAL, 'sean',

TO_DATE('1987-11-17','yyyy-mm-dd'), 12345);

-----------------------day5-----------------------------------

1.创建一个序列,初始值是1000,步进是10;

Create sequence start with 1000 increment by 10;

2.创建一个视图v_emp,内容是按部门分组,各个部门的薪水总和和员工人数;

视图字段定义为deptno, total_sal, total_count;

Create or replace view

Is

Select deptno, sum(sal) total_sal, count(*) total_count

From emp group by deptno;

3.查询视图,列出全部记录;

Select * from v_emp;

4.删除视图;

Drop view v_emp;

5.列出薪水最低的三名员工的名字;

SELECT ename, sal, ROWNUM

FROM (SELECT ename, sal

FROM emp

ORDER BY sal)

WHERE ROWNUM <= 3;

6.列出按员工编码排序,第6到第10条员工记录。SELECT ename, sal, rn

FROM (SELECT ROWNUM rn, ename, sal

FROM emp

ORDER BY empno )

WHERE rn BETWEEN 6 AND 10;

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考试试题及答案

试题一 一、填空题(每小题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数据库试题及答案word版本

O r a c l e数据库试题及 答案

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))

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岁的记录

Oracle面试题及答案整理

Oracle面试题及答案整理

Oracle面试题及答案整理 1、表:table1(FId,Fclass,Fscore),用最高效最简单的SQL列出各班成绩最高的列表,显示班级,成绩两个字段。 select fclass,max(fscore) from table1 group by fclass,fid 2、有一个表table1有两个字段FID,Fno,字都非空,写一个SQL语句列出该表中一个FID对应多个不同的Fno的纪录。 类如: 101a1001 101a1001 102a1002 102a1003 103a1004 104a1005 104a1006 105a1007 105a1007 105a1007 结果: 102a1002

102a1003 104a1005 104a1006 select t2.* from table1 t1, table1 t2 where t1.fid = t2.fid and t1.fno <> t2.fno; 3、有员工表empinfo ( Fempno varchar2(10) not null pk, Fempname varchar2(20) not null, Fage number not null, Fsalary number not null ); 假如数据量很大约1000万条;写一个你认为最高效的SQL,用一个SQL计算以下四种人: fsalary>9999 and fage > 35 fsalary>9999 and fage < 35 fsalary <9999 and fage > 35 fsalary <9999 and fage < 35 每种员工的数量; select sum(case when fsalary > 9999 and fage > 35 then 1 else 0end) as "fsalary>9999_fage>35",

oracle模拟试题答案汇总

备注:题号相同的题目或者增加的一些题目是11级网络的模拟试题 第 1 题,选择题(2分): ORACLE中,游标可以分为三类,下面不是Oracle游标的是( 1 )。 (1) 系统游标 (2) 显式游标 (3)隐式游标 (4) REF游标 第 2 题,选择题(2分):PL/SQL块中定义了一个带参数的游标:CURSOR emp_cursor(dnum NUMBER) IS SELECT sal,comm FROM emp WHERE deptno=dnum; 那么正确打开此游标的语句是(1) (1) OPEN emp_cursor(20); (2) OPEN emp_cursor FOR 20; (3) OPEN emp_cursor USING 20; (4) FOR rmp_rec IN emp_cursor[20] LOOP ... END LOOP; 第 3 题,选择题(2分): 有关ORACLE索引说法正确的是(A ) (1) 索引的数据和表的数据分开存储,但索引组织表除外 (2) 所有索引中的数据是顺序排序 (3) 分区表的索引必须统一存储 (4) 只能对分区表的索引进行分区 第 4 题,选择题(2分): 下列有关包的使用说法错误的是( A) (1) 必须先创建包头,然后创建包体 (2) 在不同的包内模块可以重名 (3) 包的私有过程不能被外部程序调用 (4) 包体中的全局过程和函数必须在包 第 5 题,选择题(2分): 以下定义的哪个变量是非法的?( A) (1) var_ab number default:=1; var_ab number default 1; (2) var_ab number not null :='0'; (3) var_ab number; (4) var_ab number:=3; 第 6 题,选择题(2分): PL/SQL块中不能直接使用的SQL命令是(A) (1) drop (2) insert (3) update

oracle数据库期末考试试题及答案2013

1、以下()内存区不属于SGA。 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 14、在联接视图中,当()时,该基表被称为键保留表。

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数据库期末考试试题及答案(一)

CBO 需要 选择 1) CBO 与 RULE 的区别, RBO 根据规则选择最佳执行路径来运行查询, 根据表统计找到最低成本的访问数据的方法确定执行计划。使用 CBO 注意: a) 需要使用提示 (Hint) b) 优化 SQL 的写法 c) 选择最有效率的表名顺序 d) 需要经常对表进行 ANAL YZE 命令进行分析统计 d) 需要稳定执行计划 2) 在 Oracle 中,一个用户拥有的所有数据库对象统称为() a) 数据库 b) 模式 c) 表空间 d) 实例 3) 在 Oracle 中,可用于提取日期时间类型特定部分(如年、月、日、时、分、 秒)的函数有() 。 a) DATEPART b) EXTRACT c) TO_CHAR d) TRUNC 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 f B f C f D b) A f D f C f B c) A f C f B f D d) D f A f C f B 6)在Windows 操作系统中,Oracle 的()服务监听并接受来自客户端应用程序的连接请求。 a) OracleHOME_NAMETNSListener b) OracleServiceSID c) OracleHOME_NAMEAgent d) OracleHOME_NAMEHTTPServer 7)在Oracle 中创建用户时,若未提及DEFAULT TABLESPACE 关键字,则Oracle 就将()表空间分配给用户作为默认表空间。。 a) USER b) SYSTEM c) SYS d) DEFAULT 8)在Oracle 数据库中,()用户模式存储数据字典表和视图对象。 a)SYSTEM b)SYS c)SCOTT d)SYSDBA 9)在Oracle 中,下面哪条语句当COMM 字段为空时显示0,不为空时显示COMM 的值()。

Oracle考试试题(带答案)

一、选择(每题3分) 1)当Oracle服务器启动时,下列哪种文件不是必须的()。 a)数据文件 b)控制文件 c)日志文件 d)归档日志文件 参考答案D 2)在Oracle中,当用户要执行SELECT语句时,下列哪个进程从磁盘获得用 户需要的数据()。 a)用户进程 b)服务器进程 c)日志写入进程(LGWR) d)检查点进程(CKPT) 参考答案B 3)在Oracle中,一个用户拥有的所有数据库对象统称为()。 a)数据库 b)模式 c)表空间 d)实例 参考答案B 4)在Oracle中,可用于提取日期时间类型特定部分(如年、月、日、时、分、

秒)的函数有()。 a)DATEPART b)EXTRACT c)TO_CHAR d)TRUNC 参考答案bc 5)在Oracle中,有一个教师表teacher的结构如下: ID NUMBER(5) NAME VARCHAR2(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;参考答案C 6)在Oracle数据库的逻辑结构中有以下组件: A 表空间 B 数据块 C 区 D 段 这些组件从大到小依次是()。 a)A→B→C→D b)A→D→C→B c)A→C→B→D

Oracle测试题及答案

Oracle试题 (数据库技术及应用) 学号姓名分数(一) 按照题意写出SQL语句(45分每题3分) 本题用到下面三个关系表: 借书卡card(cno卡号,name姓名,class班级) 图书books(bno书号,bname书名,author作者,price 单价,quantity库存册数) 借书记录borrow (cno借书卡号,bno书号,rdate还书日期) 注:限定每人每种书只能借一本;库存册数随借书、还书而改变。 1.写出建立borrow表的SQL语句,要求定义主码完整性约束和引用完整性约束。create table card (cno char(6) primary key, name varchar2(10), class varchar2(12) ); create table books (bno char(8) primary key, bname varchar2(50), author varchar2(10), price number(5,3), quantity number(4) ); create table borrow (cno char(6) references card(cno) on delete cascade, bno char(8) references books(bno) on delete cascade, rdate date, primary key(cno,bno) ); 2.找出借书超过5本的读者,输出借书卡号及所借图书册数。 select cno,count(*) 册数 from borrow group by cno having count(*)>5; 3.查询借阅了“水浒”一书的读者,输出姓名及班级。 select name,class from card where cno in ( select cno from borrow where bno=( select bno from books where bname='水浒'

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、 在一台物理服务器上可以安装多个服务软件,构成逻辑上的多个服务器。为区分这些不同的逻辑服务器,使用了称为(B)的概念。 (A)片 (B)端口 (C)范围 (D)数据块 4、以下判断正确的是(B) (A)’2006-05-01’小于’2006-04-31’ (B)’1234’大于’123_’ (C)’美丽’大于’米粒’ (C)‘2e-3’小于‘-2e3’ 5、以下运算结果不为空值的是(C) (A)12+NULL (B)60*NULL (C)NULL‖’NULL’ (D)12/(60+NULL) 6、已创建序列S1,若当前值为2,先执行3次S1.CURRVAL,再执行3次S1.NEXTVAL,最后S1的值是(C) (A)3

(B)4 (C)5 (D)6 7、数据库中有两个用户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; 8、若当前日期为’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_BETW EEN(’28-5月-06’,5)) (D)NEXT_DAY(ADD_MONTHS(’28-5月-06’,5)) 9、若用户要连接数据库,则该用户必须拥有的权限是(C) (A)create table (B)create index (C)create session (D)create user 10、授予删除任何表的系统权限(DROP ANY TABLE)给user1,并使其能继续授该权限给其他用户,以下正确的SQL语句是(B) (A)Grant drop any table to user1; (B)Grant drop any table to user1 with admin option; (C)Grant drop table to user1; (D)Grant drop any table to user1 with grant potion;二、简答题 1、试述ORACLE9i的特点及两种工作模式。 ORACLE9i的特点:集群技术、联机分析处理、数据挖掘和分析技术、智能管理、分布式

数据库基础(Oracle)试卷及答案

数据库基础(Oracle)试卷及答案 数据库基础(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所有用户进程和服务器进程所共享(F) 7、oracle数据库系统中数据块的大小与操作系统有关(T) 8、oracle数据库系统中,启动数据库和第一步是启动一个数据库实例(F)

9、PL/SQL中游标的数据是可以改变的(T) 10、数据库概念模型主要用于数据库概念结构设计(F) 三、简答题(每小题7分,共35分) 1、何谓数据与程序的逻辑独立性和物理独立性 数据库系统中的DBMS为三级模式结构提供了两层映像机制:外模式/模式映像和模式/内模式映像。这两层映像机制保证了数据库系统中数据的逻辑独立性和物理独立性。 外模式/模式映像定义了数据库中不同用户的外模式与数据库逻辑模式之间的对应关系。 当数据库模式发生变化时,例如关系数据库系统中增加新的关系、改变关系的属性数据类型等,可以调整外模式/模式间的映像关系,保证面向用户的各个外模式不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与应用程序的逻辑独立性,简称数据的逻辑独立性。 模式/内模式映像定义了数据库中数据全局逻辑结构与这些数据在系统中的物理存储组织结构之间的对应关系。 当数据库中数据物理存储结构改变时,即内模式发生变化,例如定义和选用了另一种存储结构,可以调整模式/内模式映像关系,保持数据库模式不变,从而使数据库系统的外模式和各个应用程序不必随之改变。这样就保证了数据库中数据与应用程序间的物理独立性,简称数据的物理独立性。

Oracle数据库试题 题 附答案

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

相关文档