搜档网
当前位置:搜档网 › oracle 练习题

oracle 练习题

oracle 练习题
oracle 练习题

一、选择题

1. 下面语句中,哪种语句用来创建视图?

A. CREATE TABLE

B. ALTE VIEW

C. DROP VIEW

D. CREATE VIEW

2.以下哪项陈述最符合此SQL 语句中“学生”表发生的变化?

UPDATE 学生

SET 午餐编号= (SELECT 午餐编号 FROM 学生WHERE 学生标识= 17 )

WHERE 学生标识= 19;

A. 此语句将更新“学生”表,具体操作为将标识号为19 的学生的午餐编号替换为标识号为17 的学生的午餐编号。

B. 将一个新行插入“学生”表中。

C. 不发生任何变化,因为不能在UPDATE 语句中使用子查询。

D. 删除学生17 的午餐编号,并根据学生19 的午餐编号插入一个新值。

3.以下哪条SELECT 语句将返回一个数字值?

A. SELECT SYSDATE - 7 FROM 雇员;

B. SELECT (SYSDA TE - 聘用日期) / 7 FROM 雇员;

C. SELECT ROUND(聘用日期, DAY) FROM 雇员;

D. SELECT SYSDATE + 600 / 24 FROM 雇员;

4.以下SQL 语句将返回什么结果?

SELECT ROUND(45.923,-1) FROM DUAL;

A. 45.9

B. 46

C. 50

D. 上述各项都不是

5.如果需要以全部大写的形式显示每个雇员的姓名,应使用以下哪个函数?

A. CASE

B. UCASE

C. UPPER

D. TOUPPER

6.下列关于函数的说法中哪个是不正确的?

A. SYSDA TE 函数返回Oracle Server 日期和时间。

B. ROUND 数字函数将值舍入到指定的小数位或最近的整数。

C. CONCAT 函数只能用于字符串,不能用于数值。

D. SUBSTR 字符函数返回从指定字符位置开始到指定长度的部分字符串。

7.以下关于列的叙述中,哪一项是不正确的?

A. 可以增大CHAR 列的宽度。

B. 如果列包含非空数据,则可以修改列的数据类型。

C. 可以将CHAR 数据类型的列转换为V ARCHAR2 数据类型。

D. 可以将DA TE 日期类型的列转换为V ARCHAR2 列。

8.使用哪个命令可以从表的行中快速删除所有数据而不删除表自身?

A. ALTER TABLE

B. DROP TABLE

C. MODIFY

D. TRUNCATE TABLE

9.如果需要更新6 月30 日之前生产的产品的有效期。应在UPDA TE 语句的哪个子句中指定这一条件?

A. ON 子句

B. WHERE 子句

C. SET 子句

D. USING 子句

10.若需要更新居住地为亚特兰大(Atlanta) 的雇员的区域代码。考虑下面的部分UPDATE 语句:

UPDATE 雇员SET 区域代码= 770

应在UPDATE 语句中包括以下哪个子句才能得到所需结果?

A. UPDATE 城市= Atlanta;

B. SET 城市= 'Atlanta';

C. WHERE 城市= 'Atlanta';

D. LIKE 'At%';

11.下面哪个子句可以用来确保成本值大于1.00?

A. CONSTRAINT CHECK 成本> 1.00

B. CONSTRAINT 部件成本_ck CHECK (成本> 1.00)

C. CHECK CONSTRAINT 部件成本_ck (成本> 1.00)

D. CONSTRAINT CHECK 部件成本_ck (成本> 1.00)

12.SQL语句中_______命令可以撤销用户对象权限。

A. REVOKE

B. GRANT

C. DENY

D. CREATE

13.在WHILE循环语句中,如果循环体语句条数多于一条,必须使用。

A . GOTO

B . CASE…END

C . IF…THEN

D . BEGIN…END

14.应使用以下哪个组函数来显示“雇员”表中的最高薪金值?

A. A VG

B. COUNT

C. MAX

D. MIN

15.以下有关<> 运算符的说法哪个是正确的?

A. <> 运算符不是有效的SQL 运算符。

B. <> 运算符不能用于单行子查询。

C. <> 运算符返回的结果与子查询中ANY 运算符返回的结果相同

D. 当单行子查询只返回一行时,可以使用<> 运算符。

16.以下哪些函数可用于处理字符、数字和日期列值?

A. CONCAT、RPAD 和TRIM

B. UPPER、LOWER 和INITCAP

C. ROUND、TRUNC 和MOD

D. ROUND、TRUNC 和ADD_MONTHS

17.以下哪两个函数可用于处理数字或日期列值,但不能处理字符列值?

A. RPAD

B. CONCAT

C. ROUND

D. INSTR

18.以下SQL 语句将返回什么结果?

SELECT COUNT(DISTINCT 薪金) FROM 雇员;

A. 雇员表中所有唯一薪金的列表

B. 雇员表中的薪金总额

C. 雇员表中的总行数

D. 雇员表中的唯一薪金的数量

19.以下查询将返回什么结果?

SELECT ADD_YEARS ('11-JAN-94',6) FROM dual;

A. 这不是有效的SQL 语句。

B. 1995-7-11

C. 2000-1-11

D. 2000-7-11

20.使用以下哪个函数可返回月份中的最大日期?

A. END_DAY

B. FINAL_DAY

C. HIGHEST_DAY

D. LAST_DAY

参考答案

答案:1~5: DDBBC 6~10.CBDBC

11~15.BADCD 16~20.ACDCD

二、简答题

1. 简述表、视图、索引之间的关系?

2. 简述PL/SQL 角色的主要特点。

3. 简述游标的基本功能和使用步骤

4.简述创建视图的意义和优点?

5. 简述使用过程的优点。

6.简述预定义的异常的作用和特点。

7. 说明事务的ACID特性的含义。

8. 说明什么是数据库角色。

9.简述创建视图的意义和优点?

10. 说明索引组织表是如何提高系统性能的。

三、阅读程序,指出下列程序的功能:

(1)connect system/manager

create user dropme

identified by dropme;

grant create session, create table to dropme;

connect dropme/dropme

(2)grant execute on my_proc

to Bush;

connect Bush/Bush

exec system.my_proc;

(3)select empno, ename, job, &columnName

from emp

where sal >= 3000

order by &columnName;

(4)create index indextest_objname_idx

on indextest(object_name);

select owner, object_name

from indextest

where object_name = 'DBA_INDEXES';

(6)set transaction read only;

update emp

set ename = lower(ename);

(7)alter session set nls_date_format = 'yyyy-month-dd';

select ename, hiredate

from emp

where ename like '%A%';

(8)create or replace

trigger log_drop_trigger

before drop on scott.schema

begin

insert into dropped_objects

values(ora_dict_obj_name, ora_dict_obj_type, sysdate);

end;

(9)ttitle '员工薪水清单报告日期:'_date

select empno, ename, job, hiredate, sal

from emp

where sal >= 2500;

(10)connect system/manager

create user oracle_admin

identified by oracle_admin

/

四、综合题

现有student和score两个表,结构如下,写出利用SQL语言完成以下各题的操作命令。

student 表结构

create table student(

student_id number(6) not null,

name varchar2(10),

sex char(10),

birthday date,

constraint id_pk primary key(student_id)

);

score 表结构

create table score(

student_id number(6),

courseno varchar2(20),

point number(4,0)

);

(1)显示单科成绩最高的学生的学号、姓名及课程编号;

(2)建立视图View 1,查询所有学生的学号、姓名和平均分数;

(3)修改score表,为该表添加外键约束;

(4)分组求出男女学生的平均入学成绩;

(5)显示平均成绩高于85分的学生的学号、姓名;

(6)在student表上创建一个触发器trig1,当插入、删除或更新该表记录时,该触发器会指出非scott和system 用户没有修改权限。

参考答案

四、综合题(每小题5分,共35分)

参考答案

(1)select student.student_id, https://www.sodocs.net/doc/c31631471.html,, score.courseno

from student, score

where student.student_id = (select score. student_id from score

where score.point=

(select MAX(score.point)from score)) ;

(2)create view view1

as

select student.student_id, https://www.sodocs.net/doc/c31631471.html,, A VG(point) 平均成绩

from student,score

where student.student_id=score.student_id

group by student.student_id, https://www.sodocs.net/doc/c31631471.html,;

(3)alter table score

Add constraint fk_score

foreign key(student_id) references student(student_id);

(4)select sex, avg(student.entrance ) 平均入学成绩

FROM student

group by sex;

(5)select student.student_id, https://www.sodocs.net/doc/c31631471.html,

from student

where student.student_id in (select score. student_id from score

group by score. student_id

having A VG(score.point)> 85);

(6)create trigger trig1

before insert or update or delete

on student

begin

if user not in ('scott', 'system') then

raise_application_error(-20001, '你没有修改此表的权限.');

end if;

end;

/

oracle课后题答案

一、选择题 1. 若关系的某一属性组的值能唯一地标识一个元组,我们称之为(B)。 A、主码 B、候选码 C、外码 D、联系 2. 以下不属于数据库模式的三要素的是(C)。 A、数据结构 B、数据操作 C、数据控制 D、完整性约束 3. 以下对关系性质的描述中,哪个是错误的?(B) A、关系中每个属性值都是不可分解的 B、关系中允许出现相同的元组 C、定义关系模式时可随意指定属性的排列次序 D、关系中元组的排列次序可以任意交换 二、填空题 1.数据管理发展的三个阶段是人工管理、文件管理和数据库系统管理。 2.数据库系统的三级模式包括逻辑模式、用户模式、物理模式。 三、思考题 1. 数据库管理系统的主要功能有哪些? 1)数据定义功能。DBMS提供相应数据语言来定义(DDL)数据库结构,它们是刻画数据库框架,并被保存在数据字典中。 2)数据存取功能。DBMS提供数据操纵语言(DML),实现对数据库数据的基本存取操作:检索,插入,修改和删除。 3)数据库运行管理功能。DBMS提供数据控制功能,即是数据的安全性、完整性和并发控制等对数据库运行进行有效地控制和管理,以确保数据正确有效。 4)数据库的建立和维护功能。包括数据库初始数据的装入,数据库的转储、恢复、重组织,系统性能监视、分析等功能。 5)数据库的传输;DBMS提供处理数据的传输,实现用户程序与DBMS之间的通信,通常与操作系统协调完成。 2.思考关系规范化的过程。 答:对于存在数据冗余、插入异常、删除异常问题的关系模式,应采取将一个关系模式分解为多个关系模式的方法进行处理。一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式,这就是所谓的规范化过程。 3.思考数据库设计的步骤。 答:1需求分析、2概念设计阶段、3逻辑结构设计阶段、4数据库物理结构设计阶段、5数据库实施阶段、6数据库运行和维护阶段。

中南大学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

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课后题答案总教学内容

o r a c l e课后题答案总

第一章 一、选择题 1. 若关系的某一属性组的值能唯一地标识一个元组,我们称之为(B)。 A、主码 B、候选码 C、外码 D、联系 2. 以下不属于数据库模式的三要素的是(C)。 A、数据结构 B、数据操作 C、数据控制 D、完整性约束 3. 以下对关系性质的描述中,哪个是错误的?(B) A、关系中每个属性值都是不可分解的 B、关系中允许出现相同的元组 C、定义关系模式时可随意指定属性的排列次序 D、关系中元组的排列次序可以任意交换 二、填空题 1.数据管理发展的三个阶段是人工管理、文件管理和数据库系统管理。 2.数据库系统的三级模式包括逻辑模式、用户模式、物理模式。 三、思考题 1. 数据库管理系统的主要功能有哪些? 1)数据定义功能。DBMS提供相应数据语言来定义(DDL)数据库结构,它们是刻画数据库框架,并被保存在数据字典中。 2)数据存取功能。DBMS提供数据操纵语言(DML),实现对数据库数据的基本存取操作:检索,插入,修改和删除。

3)数据库运行管理功能。DBMS提供数据控制功能,即是数据的安全性、完整性和并发控制等对数据库运行进行有效地控制和管理,以确保数据正确有效。 4)数据库的建立和维护功能。包括数据库初始数据的装入,数据库的转储、恢复、重组织,系统性能监视、分析等功能。 5)数据库的传输;DBMS提供处理数据的传输,实现用户程序与DBMS之间的通信,通常与操作系统协调完成。 2.思考关系规范化的过程。 答:对于存在数据冗余、插入异常、删除异常问题的关系模式,应采取将一个关系模式分解为多个关系模式的方法进行处理。一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式,这就是所谓的规范化过程。 3.思考数据库设计的步骤。 答:1需求分析、2概念设计阶段、3逻辑结构设计阶段、4数据库物理结构设计阶段、5数据库实施阶段、6数据库运行和维护阶段。 第二章 一、选择题 1、Oracle 11g不具备的版本是(C) A.个人版 B.标准版 C. 扩展板 D.企业版 2、oracle 数据库的数据字典不能做的工作有(B) A.查找oracle数据库用户信息

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试题(含答案)

_C++_CSD/ESD1405 1. 把工资大于1000的first_name,salary 显示出来,按工资排序,工资相同按first_name降序的SQL语句是? A. select first_name,salary from s_emp order by salary,first_name B. select first_name,salary from s_emp order by salary,first_name asc C. select first_name,salary from s_emp order by salary desc,first_name D. select first_name,salary from s_emp order by salary,first_name desc 正确答案:D 2. 已知数据库中有员工表s_emp和部门表s_dept,具体字段如下: 员工表字段介绍: ID 员工编号 LAST_NAME 员工姓 FIRST_NAME 员工名 USERID 用户编号 START_DATE 入职日期 COMMENTS 员工备注信息 MANAGER_ID 员工的领导ID TITLE 员工的职位 DEPT_ID 部门的编号 SALARY 员工的月薪 COMMISSION_PCT 提成 部门表的字段介绍: ID 部门编号 NAME 部门名 REGION_ID 地区编号 注:以下所有数据库相关题目,均使用这两个表 把s_emp表中的每个人的全名和工资列出来的SQL语句是? A. select first_name|last_name ,salary from s_emp

Oracle 考试试题_带答案_

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 V ARCHAR2(25) EMAIL V ARCHAR2(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 d) D→A→C→B 参考答案 b 7) 在Windows操作系统中,Oracle的()服务监听并接受来自客户端应用程 序的连接请求。 a) OracleHOME_NAMETNSListener b) OracleServiceSID c) OracleHOME_NAMEAgent d) OracleHOME_NAMEHTTPServer 参考答案 a 8) 在Windows操作系统中,Oracle的()服务是使用iSQL*Plus必须的。 a) OracleHOME_NAMETNSListener b) OracleServiceSID c) OracleHOME_NAMEAgent d) OracleHOME_NAMEHTTPServer 参考答案 B 9) 在 Oracle 中创建用户时,若未提及 DEFAULT TABLESPACE 关键字,则 Oracle 就将()表空间分配给用户作为默认表空间。。 a) USER b) SYSTEM c) SYS d) DEFAULT 参考答案 B 10) 在Oracle数据库中,()用户模式存储数据字典表和视图对象。 a) SYSTEM

oracle数据库练习题参考答案

第1章Oracle 11g简介 软件122班王平安 一、选择题 1.D 2.D 3.C 4.A 5.D 6.D 7.B 二、填空题 1.视图2.索引3.簇4.DB_BLOCK_SIZE 5.SYSTEM 6.数据文件7.日志文件8.控制文件 9.系统全局区(System Global Area,SGA) 10.程序全局区(Program Global Area,PGA) 11.数据库管理员12.安全官员 13.网络管理员14.应用程序开发员 15.应用程序管理员16.数据库用户。 三、简答题 1.答: 数据库由若干个表空间组成,表空间由表、索引、视图等逻辑对象组成,表由段组成,段由区组成,区则由数据块组成。 2.答: 物理结构由构成数据库的操作系统文件所决定。每个Oracle数据库都由3种类型的文件组成:数据文件、日志文件和控制文件。 Oracle数据库有一个或多个物理的数据文件。数据库的数据文件包含全部数据库数据。逻辑数据物理地存储在数据文件中。 每个数据库有两个或多个日志文件组,日志文件组用于收集数据库日志。日志的主要功能是记录对数据所作的修改,所以对数据库作的全部修改记录在日志中。在出现故障时,如果不能将修改数据永久地写入数据文件,则可利用日志得到修改记录,从而保证已经发生的操作成果不会丢失。 每个Oracle数据库有一个控制文件,记录数据库的物理结构。控制文件包含数据库名、数据库数据文件和日志文件的名字、位置和数据库建立日期等信息。 3.答: SGA是一组共享内存结构,其中包含一个Oracle数据库例程数据及控制信息。如果有多个用户同时连接到同一个例程,则此例程的SGA数据由这些用户共享。因此,SGA也称为共享全局区(Shared Global Area)。 SGA包含以下数据结构。

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基础练习题及答案(子查询)

子查询 1.查询和scott相同部门的员工姓名ename和雇用日期hiredate select ename,hiredate from emp where deptno=(select b.deptno from emp a,dept b where a.deptno=b.deptno and ename='SCOTT'); 2.查询工资比公司平均工资高的所有员工的员工号empno,姓名 ename和工资sal。 select empno,ename,sal from emp where sal>(select avg(sal) from emp ); 3.查询和姓名中包含字母u的员工在相同部门的员工的员工号 empno和姓名ename select empno,ename from emp a,dept b where a.deptno(+)=b.deptno and a.deptno=(select deptno from emp where ename like'%U%'); 4.查询在部门的loc为newYork的部门工作的员工的员工姓名 ename,部门名称dname和岗位名称job select ename,dname,job from emp a,dept b where a.deptno=b.deptno and loc='NEW YORK'; 5.查询管理者是king的员工姓名ename和工资sal select a.ename,a.sal from emp a,emp b where a.mgr=b.empno and b.ename='KING';

ORACLE数据库习题(有答案)

--1.列出至少有一个雇员的所有部门。 SELECT * FROM DEPT WHERE DEPTNO IN (SELECT DISTINCT DEPTNO FROM EMP); --2.列出薪金比“SMITH”多的所有雇员。 SELECT * FROM EMP WHERE SAL>(SELECT SAL FROM EMP WHERE ENAME='SMITH'); --3.列出所有雇员的姓名及其上级的姓名。 SELECT AS empName, AS mgrName FROM emp ygb,emp sjb WHERE =; --4.列出入职日期早于其直接上级的所有雇员。 SELECT * FROM emp ygb WHERE hiredate<(SELECT hiredate FROM emp sjb WHERE =; --5.列出所有部门的名称和这些部门的雇员编号及姓名(没有雇员的部门包含在内) SELECT dname,ename FROM dept a LEFT JOIN emp b ON =; --6.列出所有JOB 为“CLERK”(办事员)的员工姓名及其部门名称 SELECT ename,dname FROM dept a,emp b WHERE = AND job='CLERK'; --7.列出各种类型的最低薪金,并使最低薪金大于。 SELECT job,MIN(sal) FROM emp GROUP BY job HAVING MIN(sal)>1500; --8.列出从事“SALES”(销售)工作的雇员的姓名,假定不知道销售部的部门编号。 SELECT ename FROM emp WHERE deptno=(SELECT deptno FROM dept WHERE dname='SALES'); --9.列出薪金高于公司平均水平的所有雇员。 SELECT * FROM EMP WHERE SAL>(SELECT AVG(SAL) FROM EMP); --10.列出与“SCOTT”从事相同工作的所有雇员。 SELECT * FROM EMP WHERE JOB=(SELECT JOB FROM EMP WHERE ENAME='SCOTT') AND ENAME<>'SCOTT'; --11.列出薪金等于部门中任何一个雇员薪金的员工姓名和 薪金 SELECT ENAME,SAL FROM EMP WHERE SAL IN(SELECT SAL FROM EMP WHERE DEPTNO=30); SELECT ENAME,SAL FROM EMP WHERE SAL =ANY(SELECT SAL FROM EMP WHERE DEPTNO=30); --12.列出薪金高于部门中所有雇员薪金的员工姓名和薪金SELECT * FROM EMP WHERE SAL >ALL(SELECT SAL FROM EMP WHERE DEPTNO=30); --13.列出所有部门的部门名称、地点以及该部门中雇员的数量 SELECT DNAME,DEPTNO,LOC, (SELECT COUNT(*) FROM EMP E WHERE = AS TOTAL FROM DEPT; --14.列出各种类别工作的最低工资 SELECT job,MIN(sal) FROM emp GROUP BY job; --15.列出各个部门的MANAGER(经理)的最低薪金。 SELECT MIN(sal) FROM emp WHERE job='MANAGER' GROUP BY DEPTNO; --1. 查询所有部门员工的编号、姓名、月薪及奖金。 select empno,ename,sal,comm from emp where deptno=10; --2. 查询员工WHITE的员工编号。 select empno from emp where ename='WHITE'; --3. 查询所有员工的编号及收入。(提示:收入=月薪+奖金)select empno 编号,sal+nvl(comm,0) as 收入from emp; --4. 查询所有员工的编号、姓名、工种及其工龄,按工龄降序排序,工龄相同时按编号升序排序。 Select empno,ename,job,trunc(months_between(sysdate,hiredate)/12) 工龄from emp order by 工龄desc,empno asc; --5. 统计各部门的员工人数及工种类型数。 select deptno,count(*) 人数,count(distinct job) 工种类型数from emp group by deptno; --6. 查询部门人数多于人的部门编号。 select deptno,count(*) from emp group by deptno having count(*) > 3; --7. 统计各部门各种工作类别的最低月薪,显示最低薪金大于的记录。 select deptno,job,min(sal) from emp group by deptno,job having min(sal)>1500; --8. 统计、及部门员工平均工资。 select deptno,coung(*) from emp where deptno in (10,20,30) group by deptno; --9. 查询工资水平在至间的各部门员工人数。 select deptno,count(*) from emp where sal between 2000 and 5000 group by deptno; --10. 查询公司最高领导人的员工编号及姓名。 select empno,ename from emp where mgr is null; --1、编写一查询,显示与Blake在同一部门工作的雇员的姓名和受雇日期,但是Blake不包含在结果内。 select ename,hiredate from emp where deptno in (select deptno from emp where lower(ename)='black') and lower(ename)!='black'; --2、创建一查询,显示工资大于平均工资水平的雇员的编号及姓名,输出结果按工资降序排列。 select empno,ename,sal from emp where sal>(select avg(sal) from emp) order by sal desc; --3、显示位置在Dallas的部门内的雇员的姓名、编号及工作。 select ename,empno,job from emp inner join dept on = where lower(loc)='dallas'; --4、显示被King直接管理的雇员的姓名及其工资。 select , from emp e1 inner join emp e2 on = where lower='king'; --5、显示在Sales部门工作的雇员的部门编号、姓名及工作。 select empno,ename,job from emp inner join dept on = where lower(dname)='sales'; --6、编写一查询,显示与能获得奖金的雇员的奖金和工资同时匹配的雇员的编号和工资。 select ,, from emp e1 inner join emp e2 on = and = where !=; --7、显示与工作在Dallas的雇员的工资及奖金同时匹配的雇员的姓名、部门名称及工资。 select ,, from emp e inner join dept d on = where (sal,nvl(comm,0)) in (select sal,nvl(comm,0) from emp where deptno in (select deptno from dept where lower(loc)='dallas') ); --8、创建一查询,显示能获得与Scott一样工资和奖金的其他雇员的姓名、受雇日期及工资。 select ename,hiredate,sal from emp where (sal,nvl(comm,0)) in

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基础练习题及答案(多表查询1)

利用scott用户自带的四张表完成如下作业: 1.列出至少有一个员工的所有部门 selectb.deptno,b.dnamefromemp a,dept bwherea.deptno=b.deptnogroupbyb.deptno,b.dnamehavingcount(*)>=1; 2.列出薪金比SMITH高的所有员工 select*fromempwheresal>(selectsalfromempwhereename='SMITH'); 3.列出所有员工的姓名及其直接上级领导的姓名 selecta.ename,b.ename "leader"fromemp a,emp bwherea.mgr=b.empno; 4.列出受雇日期早于其直接上级的所有员工的编号,姓名,部门名称 selecta.empno,a.ename,a.hiredate,c.dnamefromempa,empb,deptcwherea.mgr= b.empnoanda.deptno=c.deptnoanda.hiredate

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练习题习题答案张表题

Oracle练习题+习题答案(张表+题) create table student( sno varchar2(10) primary key, sname varchar2(20), sage number(2), ssex varchar2(5) ); create table teacher( tno varchar2(10) primary key, tname varchar2(20) ); create table course( cno varchar2(10), cname varchar2(20), tno varchar2(20), constraint pk_course primary key (cno,tno) ); create table sc( sno varchar2(10),

cno varchar2(10), score number(4,2), constraint pk_sc primary key (sno,cno) ); /*******初始化学生表的数据******/ insert into student values ('s001','张三',23,'男'); insert into student values ('s002','李四',23,'男'); create table student( insert into student values ('s003','吴鹏',25,'男'); sno varchar2(10) primary key, insert into student values ('s004','琴沁',20,'女'); sname varchar2(20), insert into student values ('s005','王丽',20,'女'); sage number(2), insert into student values ('s006','李波',21,'男'); ssex varchar2(5) insert into student values ('s007','刘玉',21,'男'); ); insert into student values ('s008','萧蓉',21,'女'); insert into student values ('s009','陈萧晓',23,'

oracle数据库期末考试试题及答案(0001)

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

A13、带有错误的视图可使用()选项来创建。 A.FORCE B.WITH CHECK OPTION C.CREATE VIEW WITH ERROR D.CREATE ERROR VIEW B14、在联接视图中,当()时,该基表被称为键保留表。 A.基表的主键不是结果集的主键 B.基表的主键是结果集的主键 C.基表的主键是结果集的外键 D.基表的主键不是结果集的外键 D15、在列的取值重复率比较高的列上,适合创建()索引。 A.标准B.唯一C.分区D.位图 C16、要以自身的模式创建私有同义词,用户必须拥有()系统权限 A.CREATE PRIVATE SYNONYM B.CREATE PUBLIC SYNONYM C.CREATE SYNONYM D.CREATE ANY SYNONYM D17、PL/SQL块中不能直接使用的SQL命令是()。 A.SELECT B.INSERT C.UPDATE D.DROP B18、以零作除数时会引发()异常。

A.VALUE_ERROR B.ZERO_DIVIDE C.STORAGE_ERROR D.SELF_IS_NULL A19、要更新游标结果集中的当前行,应使用()子句。 A.WHERE CURRENT OF B.FOR UPDATE C.FOR DELETE D.FOR MODIFY B20、用于处理得到单行查询结果的游标为()。 A.循环游标B.隐式游标 C.REF游标D.显式游标 C21、公用的子程序和常量在()中声明。 A.过程B.游标 C.包规范D.包主体 C22、数据字典视图()包含存储过程的代码文本A.USER_OBJECTS B.USER_TEXT C.USER_SOURCE D.USER_DESC C23、以下不属于命名的PL/SQL块的是()。 A.程序包B.过程 C.游标D.函数 A24、()包用于显示PL/SQL块和存储过程中的调试信息。 A.DBMS_OUTPUT B.DBMS_STANDARD C.DBMS_INPUT D.DBMS_SESSION

相关主题