oracle习题
- 格式:doc
- 大小:74.00 KB
- 文档页数:17
Oracle测试题+答案1) PL/SQL块中可以使用下列()命令。
(选择两项)a) TRUNCATEb) DELETEc) SA VEPOINTd) ALTER TABLE2) 授予sa用户在SCOTT.EMP表中SAL列的更新权限的语句是(B)〔选择一项〕a) GRANT CHANGE ON SCOTT.EMP TO SAb) GRANT UPDA TE ON SCOTT.EMP(SAL) TO SAc) GRANT UPDA TE (SAL) ON SCOTT.EMP TO SAd) GRANT MODIFY ON SCOTT.EMP(SAL) TO SA3) EMP表有14条记录,则语句SELECT ‘Aptech’FROM EMP 的执行结果是(C)〔选择一项〕a) Aptechb) 无输出c) 14行Aptechd) 编译出错4) PL/SQL块中哪几部分是可选的()〔选择二项〕a) Declareb) Beginc) Exceptiond) Constant5) 在创建序列的过程中,下列()选项指定序列在达到最大值或最小值后,将继续从头开始生成值。
(选择一项)a) Cycleb) Nocyclec) Cached) Nocache6) 同义词有以下()用途。
(选择三项)a) 简化SQL 语句b) 隐藏对象的名称和所有者c) 提供对对象的公共访问d) 显示对象的名称和所有者7) Oracle中用来释放锁的语句有()〔选择二项〕a) commitb) Drop lockc) rollbackd) unlock8) 关于类型定义Number(9,2)说法正确的有()〔选择一项〕a) 整数部分9位,小数部分2位,共11位b) 整数部分7位,小数部分2位,共9位c) 整数部分6位,小数点一位,小数部分2位,共9位d) 以上说法均不正确9) 下列哪种Lob类型用来存储数据库以外的操作系统文件()〔选择一项〕a) CLOBb) BLOBc) CFILEd) BFILE10) Oracle中的三种系统文件分别是()〔选择三项〕a) 数据文件b) 归档文件c) 日志文件d) 控制文件11) 下列哪项不是Oracle中常用的分区方法?()〔选择一项〕a) 范围分区b) 散列分区c) 列表分区d) 条件分区12) 查看Test中名称为P1的分区中的记录的查询语句为()〔选择一项〕a) Select * from Test Where PartitionName=’p1’b) Select * from Test(p1)c) Select * from Test Partition(p1);d) 以上均正确13) 创建序列时,若未指定Cycle选项,则当当前值大于MaxValue时将()〔选择一项〕a) 从MinValue重新开始循环b) 重复使用MaxValue 值c) 执行出错d) 使用随机值14) 下列哪项是创建索引组织表所必需的()〔选一项〕a) Primary Keyb) Order Byc) Group Byd) 以上均不是15) 若表的某字段值存在大量的重复,则基于该字段适合创建哪种索引?()〔选一项〕a) 标准索引b) 唯一索引c) 位图索引d) 分区索引16) 在PL/SQL块中定义一个名为PI值为3.14的Real型常量的语法是()〔选一项〕a) A.Pi Const Real=3.14;b) B.Pi Real Const =3.14;c) C.Constant Pi Real:=3.14d) D.Pi Constant Real:=3.1417) 22.当Select语句没有返回行时,将引发下列哪个异常?()[选择一项]a) A.No_rows_foundb) B.No_data_foundc) C.No_Data_rows_foundd) D.Invalid_Number18) Oracle中提供的两种游标是()〔选择二项〕a) A.隐式游标b) B.静态游标c) C.REF游标d) D.显式游标19) 若Emp表中有14条记录,则用户执行了以下操作,结果是:()〔选择一项〕Cursor mycur is Select * From emp;。
oracle练习题及答案Oracle练习题及答案Oracle是一种强大的关系数据库管理系统,被广泛应用于企业级应用程序和数据管理中。
为了帮助大家更好地掌握Oracle数据库的知识,以下是一些Oracle练习题及答案,希望能够帮助大家更好地理解和掌握Oracle数据库的知识。
1. 什么是Oracle数据库?Oracle数据库是一种关系数据库管理系统,由美国Oracle公司开发。
它是一种高性能、可靠性高的数据库系统,被广泛应用于企业级应用程序和数据管理中。
2. Oracle数据库的特点有哪些?Oracle数据库具有以下特点:高性能、高可用性、可伸缩性、安全性高、灵活性强、易管理等。
3. 如何创建一个新的数据库用户?在Oracle数据库中,可以使用以下SQL语句来创建一个新的数据库用户:```CREATE USER username IDENTIFIED BY password;```4. 如何查看Oracle数据库中所有的表?可以使用以下SQL语句来查看Oracle数据库中所有的表:```SELECT table_name FROM user_tables;```5. 如何在Oracle数据库中插入一条新的记录?可以使用以下SQL语句来在Oracle数据库中插入一条新的记录:```INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);```6. 如何在Oracle数据库中更新一条记录?可以使用以下SQL语句来在Oracle数据库中更新一条记录:```UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;```7. 如何在Oracle数据库中删除一条记录?可以使用以下SQL语句来在Oracle数据库中删除一条记录:```DELETE FROM table_name WHERE condition;```通过以上Oracle练习题及答案的学习,相信大家对Oracle数据库有了更深入的了解。
Oracle数据库试题100题(附答案)1.当Oracle服务器启动时,下列哪种文件不是必须的(D)。
A.数据文件B.控制文件C.日志文件D.归档日志文件2.在Oracle中,当用户要执行SELECT语句时,下列哪个进程从磁盘获得用户需要的数据(B)。
A.用户进程B.服务器进程C.日志写入进程(LGWRD.检查点进程(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→DB.A→D→C→BC.A→C→B→DD.D→A→C→B6.在Windows操作系统中,Oracle的(A)服务监听并接受来自客户端应用程序的连接请求。
A.OracleHOME_NAMETNSListenerB.OracleServiceSIDC.OracleHOME_NAMEAgentD.OracleHOME_NAMEHTTPServer7.在Oracle 中创建用户时,若未提及DEFAULT TABLESPACE关键字,则Oracle 就将(B)表空间分配给用户作为默认表空间。
Oracle笔试题库附参考答案1.下列不属于ORACLE的逻辑结构的是(C)1. 区2. 段3. 数据⽂件4. 表空间2. 下⾯哪个⽤户不是ORACLE缺省安装后就存在的⽤户(A)A . SYSDBAB. SYSTEMC. SCOTTD. SYS3 下⾯哪个操作会导致⽤户连接到ORACLE数据库,但不能创建表(A)1. 授予了CONNECT的⾓⾊,但没有授予RESOURCE的⾓⾊2. 没有授予⽤户系统管理员的⾓⾊3. 数据库实例没有启动4. 数据库监听没有启动1. ( )函数通常⽤来计算累计排名,移动平均数和报表聚合。
A . 汇总B. 分析C 分组、D 单⾏1. 带有(B)字句的SELECT语句可以在表的⼀⾏或多⾏放置排他锁。
A . FOR INSERTB. FOR UPDATEC. FOR DELETED. FOR REFRESH1. 在Oracle中,你以SYSDBA登录,CUSTOMER表位于Mary⽤户⽅案中,下⾯哪条语句为数据库中的所有⽤户创建CUSTOMER表的同义词(B)。
1. CREATE PUBLIC SYNONYM cust ON mary.customer;2. CREATE PUBLIC SYNONYM cust FOR mary.customer;3. CREATE SYNONYM cust ON mary.customer FOR PUBLIC;4. 不能创建CUSTOMER的公⽤同义词。
5.7. 在Oracle中,当FETCH语句从游标获得数据时,下⾯叙述正确的是(C)。
1. 游标打开2. 游标关闭3. 当前记录的数据加载到变量中4. 创建变量保存当前记录的数据8. 在Oracle中,下⾯关于函数描述正确的是(AD)。
1. SYSDATE函数返回Oracle服务器的⽇期和时间2. ROUND数字函数按四舍五⼊原则返回指定⼗进制数最靠近的整数3. ADD_MONTHS⽇期函数返回指定两个⽉份天数的和4. SUBSTR函数从字符串指定的位置返回指定长度的⼦串9. 阅读下⾯的PL/SQL程序块:BEGININSERT INTO employee(salary,last_name,first_name)VALUES(35000,’Wang’,'Fred’);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;VALUES(32000,’Chung’,'Mike’);ROLLBACK TO SAVEPOINT save_b;COMMIT;END;运⾏上⾯的程序,哪两个更改永久保存到数据库(CD)。
一、选择题:1. ORACLE 服务器是基于( )机制的服务器。
A.物理B.类C.日志D.例程2. ORACLE中可以连接到数据库的命令是 ( )A.SET B.CONN C.SELECT D.ROLLBACK3. PGA是( )A. 系统全局区B.程序全局区C. 代码全局区D. 数据库全局区4.用来记录应用程序对数据库改变的文件( )A.数据文件 B. 控制文件C. 重做日志文件D.初始化参数文件5.删除DEPT表中数据,但保留表的指令是()。
A.DELETE B.ROLLBACKC. UPDATED.SELECT6.ORACLE中变量的命名一般以()打头。
A. v_B. c_C. g_D. p_7. ORACLE 中的存储过程和函数的区别是 ( )A. 函数有参数,存储过程没有B. 存储过程可多次执行,函数不行C. 函数有返回语句,存储过程没有D. 存储过程和函数不可以同时出现8. ORACLE包由 ( ) 和包主体构成。
A.包变量B.说明部分C.包头D.某个类型名9.要将数值转换成字符串,可以用的是 ( )A. TOCHARB.TO_CHARC. TO_DATED. TO_NUMBER10.Oracle数据库服务器是由()组成。
A.SGA和PGA B.SGA和数据库C.数据库和后台进程D.例程和数据库11. Oracle数据库被划分为()的逻辑存储单元,该逻辑存储单元本身由操作系统磁盘文件和原始分区组成。
A. 表空间B. 联机重做日志文件C. 归档重做日志文件D. 回滚段12.()是包含Oracle数据库中所有数据的数据库对象。
A. 视图B. 索引C. 存储过程D. 表13.()是为了加速对特定表数据的访问而创建的数据段。
A. 视图B. 索引C. 存储过程D. 触发器13.下面是有关date数据类型和timestamp数据类型的描述,请问哪一种描述是正确的?A. 两者都只能存储日期数据,不能存储时间数据B. 两者都只能存储时间数据,不能存储日期数据C. date数据类型比timestamp数据类型的存储时间精度高D. date数据类型比timestamp数据类型的存储时间精度低14.可以自动执行操作的存储对象是()。
oracle练习题(打印版)### Oracle数据库练习题#### 一、选择题1. Oracle数据库中,哪个命令用于创建表?- A. CREATE TABLE- B. CREATE DATABASE- C. DROP TABLE- D. ALTER TABLE2. 以下哪个不是Oracle数据库的数据类型?- A. NUMBER- B. CHAR- C. DATE- D. IMAGE3. 在Oracle数据库中,哪个命令用于删除表?- A. DELETE FROM- B. DROP TABLE- C. REMOVE TABLE- D. ERASE TABLE4. Oracle数据库中,如何查看当前用户?- A. SELECT USER FROM DUAL;- B. SELECT CURRENT_USER FROM DUAL;- C. SELECT USERNAME FROM ALL_USERS;- D. SELECT CURRENT_USER FROM ALL_USERS;5. 以下哪个命令用于在Oracle数据库中创建索引?- A. CREATE INDEX- B. CREATE KEY- C. CREATE CONSTRAINT- D. CREATE UNIQUE#### 二、填空题1. 在Oracle数据库中,使用____命令可以查看表结构。
2. Oracle数据库中,使用____命令可以查看当前数据库的所有表。
3. 要删除Oracle数据库中的行,可以使用____命令。
4. Oracle数据库中,____用于存储二进制数据。
5. Oracle数据库中,____命令用于查看数据库中所有的索引。
#### 三、简答题1. 描述Oracle数据库中事务的ACID属性。
2. 解释Oracle数据库中的锁定机制。
3. 说明Oracle数据库中视图的作用。
#### 四、操作题1. 创建一个名为`Employees`的表,包含以下字段:- `EmployeeID` NUMBER(10) PRIMARY KEY,- `FirstName` VARCHAR2(50),- `LastName` VARCHAR2(50),- `HireDate` DATE,- `Salary` NUMBER(10, 2),- `DepartmentID` NUMBER(10).2. 向`Employees`表中插入以下数据:- `EmployeeID`: 1001, `FirstName`: 'John', `LastName`:'Doe', `HireDate`: '2023-01-01', `Salary`: 70000,`DepartmentID`: 101.- `EmployeeID`: 1002, `FirstName`: 'Jane', `LastName`:'Smith', `HireDate`: '2023-02-15', `Salary`: 50000,`DepartmentID`: 102.3. 编写一个查询,显示所有员工的姓名和工资,按工资从高到低排序。
Oracle基础(习题卷1)第1部分:单项选择题,共63题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]以下()用户默认拥有SYSDBA权限A)A-SYSTEMB)B-SYSC)C-SAD)D-DBADMIN答案:B解析:2.[单选题]你使用 IMMEDIATE 选项关闭数据库实例。
考虑打开数据库需要执行的步骤:1. 分配 SGA2. 读取控制文件3. 读取日志文件4. 开始实例恢复5. 启动后台进程6. 检查数据文件一致性7. 读取 spfile 或者 pfile哪个选项是正确的关于这些步骤()A)7, 1, 5, 2, 3, 6, 4B)1, 5, 7, 2, 3, 6; step 4 is not requiredC)7, 1, 5, 2, 3, 6 step 4 is not requiredD)1, 2, 3, 5, 6, 4; step 7 is not required答案:C解析:3.[单选题]执行下面的命令备份 USERS 表空间SQL> ALTER TABLESPACE users BEGIN BACKUP;ALTER TABLESPACE users BEGIN BACKUP*ERROR at line 1:ORA-01123: cannot start online backup;media recovery not enabled什么原因导致整个错误()A)MTTR Advisor 禁用B)数据库处于 NOARCHIVELOG 模式C)表空间已经处于备份模式D)Flash Recovery Area 没有配置答案:B解析:4.[单选题]当执行介质数据库恢复时,有个归档日志文件丢失或者损坏,那么此时只能执行哪种操作?什么A)Until SCNB)Until timeC)Recover using backup control file.D)Until cancel答案:D解析:5.[单选题]oracle逻辑存储结构正确的是( )A)tablespace--segment--osblock--blockB)tablespace--segment--extent--blockC)tablespace--extent--segment--blockD)tablespace--extent--block -segment答案:B解析:6.[单选题]如何将变量v_row 定义为emp表的记录类型( )A)v_row emp%type;B)v_row emp%record;C)v_row emp%tabletype;D)v_row emp%rowtype;答案:D解析:7.[单选题]The schema SALES exists in two databases, ORCL1 and ORCL2, and has the same password,SALES123. User SALES has CREATE DATABASE LINK and CREATE SESSION privileges on bothDatabases.Eaxmine these command:Conn SALES/SALES123CREATE DATABASE LINK orcl2 USING ‘orcl12’;What is the outcome of executing these commands in the ORCL1 database?A)ORCL2 is created as a shared database link to connect multiple sessions to the SALES schema in the ORCL2 databaseB)ORCL2 database link creation failsC)ORCL2 is created as a private database link to connect to only the SALES schema in the ORCL2 databaseD)ORCL2 is created as a public link to connect a single session to the SALES schema in the ORCL2 database答案:C解析:8.[单选题]分析以下的SQL 命令:SELECT manufacturer_idFROM inventoryWHERE manufacturer_id LIKE '%N\%P\%O%' ESCAPE '\';命令执行的返回结果是( )。
ORACL复习题一、填空题:1、ORACLE数据库默认最高管理员账号是。
sys2、ORACLE数据库系统由、组成。
逻辑结构、物理结构和实例3、ORACLE数据库具有3种主要类型的文件,它们分别是:、、。
数据文件,控制文件,日志文件4、ORACLE内存结构主要分为、。
系统全局区,程序全局区5、ORACLE逻辑存储结构包括、、、。
块,区,段,表空间6、在SQL SELECT语句查询中,要去掉查询结果中的重复记录,应该使用_________关键字。
Distinct7、使用SQL语言的SELECT语句进行分组查询时,如果希望去掉不满足条件的分组,应当使用_________子句。
Having8、连接到ORACLE数据库的方法有、。
SQL*PLUS、OEM9、SCOTT用户的默认口令是:。
tiger10、SYS用户登录SQL*PLUS时,连接字符应该为。
数据库名AS sysdba11、安装ORACLE时,(是/否)一定要进行数据库实例的安装。
否12、要登录OEM,必须启动才行。
OracleDBConsoleORCL服务13、OUI工具用来安装和ORACLE组件。
卸载14、打开ORACLE安装目录下的install中的文件可以查看OEM、ISQL*PLUS的URL和端口号。
Portlist.ini15、每个数据库至少有一个系统表空间,被称为表空间。
system16、安装过程中进行了口令的设置,但是出现了口令有错的信息,是因为原因。
口令设置不符合ORACLE的约定17、EXP命令是用来进行文件的。
导出18、数据库可以使用工具进行创建。
DBCA19、登录ISQL*PLUS页面的默认端口号为。
556020、支持客户端应用程序到ORACLE数据库服务器网络会话的组件是。
ORACLE NET21.在SQL*PLUS中使用SQL*PLUS的命令可以显示表的结构信息。
22.所谓方案,就是一系列数据库对角的集合,是数据库中存储数据的一个逻辑表示。
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。
ORACLE题集Oracle数据库应⽤复习题集选择题⼀1.ORACLE数据库物理结构包括以下三种⽂件,以下不属于的是(A)A.系统⽂件B.⽇志⽂件C.数据⽂件D.控制⽂件2.下列哪个命令是⽤于ORACLE中数据导出的( A )A.exp B.imp C.input D.output3.(C )是⽤于控制数据访问的语⾔。
A.DML B.DDL C.DCL D.DLL4.NULL表⽰什么( D )A.0 B.空格C.值D.没有值5.下⾯四个语句中哪⼀个是正确的?(C )A.SELECT * , ENAME FROM EMP;B.DELETE * FROM EMP;C.SELECT DISTINCT EMPNO ,HIREDATE FROM EMP;D.S ELECT ENAME|SAL AS “name” FROM EMP ;6.假定有⼀张表⽤户表users,其中⼀⾝份证字段ID_card。
为了维护数据的完整性,在设计数据库时,最好对ID_card字段添加约束,请问应该添加什么约束(A)A.p rimary key B.check C.default D.not null7.下⾯哪⼀个like命令会返回名字象HOTKA的⾏?(B )A.w here ename like …_HOT%'B.w here ename like …H_T%'C.w here ename like …%TKA_'D.w here ename like …%TOK%'8.(D)操作符只返回由第⼀个查询选定但是没有被第⼆个查询选定的⾏。
A.UNIONB.UNION ALLC.INTERSECTD.MINUS(差集)9A.表中没有⾏。
B.有⼀个姓名为James的员⼯。
C.不能多次回滚到相同的保存点。
D.由于已经删除了员⼯ID180,因此最后⼀次更新未更新任何⾏。
10.以下运算结果不为空值的是( C )A.12+NULLB.60*NULLC.NULL‖?NULL?D.12/(60+NULL)11.若当前⽇期为?25-5⽉-06?,以下(D )表达式能计算出5个⽉后那⼀天所在⽉份的最后⼀天的⽇期。
o r a c l e练习题及答案(总7页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--试题一一、填空题(每小题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、数据库概念模型主要用于数据库概念结构设计(T)三、简答题(每小题7分,共35分)1、何谓数据与程序的逻辑独立性和物理独立性2、试述关系代数中等值连接与自然连接的区别与联系3、何谓数据库,数据库设计一般分为哪些阶段4、简述Oracle逻辑数据库的组成5、试任举一例说明游标的使用方法五、设有雇员表emp(empno,ename,age,sal,tel,deptno),其中:empno-----编号,name------姓名,age -------年齡,sal-----工资,tel-----电话deptno-----部门号。
请按下列要求分别晨SQL*PLUS下编程。
oracle数据库期末考试试题及答案一、选择题(每题2分,共20分)1. 在Oracle数据库中,用于创建数据库表的命令是:A. CREATE DATABASEB. CREATE TABLEC. DROP TABLED. ALTER TABLE答案:B2. 下列哪个选项不是Oracle数据库的系统表?A. USER_TABLESB. DBA_TABLESC. ALL_TABLESD. EMPLOYEE答案:D3. 在Oracle数据库中,用于删除数据库表的命令是:A. DROP TABLEB. DELETE TABLEC. REMOVE TABLED. ERASE TABLE答案:A4. Oracle数据库中,哪个命令用于查询数据库中所有用户?A. SELECT * FROM USER_USERS;B. SELECT * FROM ALL_USERS;C. SELECT * FROM DBA_USERS;D. SELECT * FROM USER;答案:B5. 在Oracle数据库中,用于添加新列的命令是:A. ADD COLUMNB. INSERT COLUMNC. CREATE COLUMND. ALTER TABLE答案:D6. 下列哪个选项不是Oracle数据库的存储引擎?A. InnoDBB. Oracle RDBMSC. BDBD. Oracle ASM答案:A7. Oracle数据库中,用于更新表中数据的命令是:A. UPDATEB. CHANGEC. MODIFYD. ALTER答案:A8. Oracle数据库中,用于删除表中数据的命令是:A. DELETEB. REMOVEC. DROPD. ERASE答案:A9. 在Oracle数据库中,用于查询表中数据的命令是:A. SELECTB. QUERYC. FETCHD. GET答案:A10. Oracle数据库中,用于创建索引的命令是:A. CREATE INDEXB. CREATE KEYC. INDEXD. KEY答案:A二、填空题(每题2分,共20分)1. Oracle数据库的默认端口号是______。
A1、以下()内存区不属于SGA。
A.PGA B.日志缓冲区C.数据缓冲区D.共享池D2、()模式存储数据库中数据字典的表和视图。
A.DBA B.SCOTT C.SYSTEM D.SYSC3、在Oracle中创建用户时,若未提及DEFAULT TABLESPACE关键字,则Oracle就将()表空间分配给用户作为默认表空间。
A.HR B.SCOTT C.SYSTEM D.SYSA4、()服务监听并按受来自客户端应用程序的连接请求。
A.OracleHOME_NAMETNSListenerB.OracleServiceSIDC.OracleHOME_NAMEAgentD.OracleHOME_NAMEHTTPServerB5、()函数通常用来计算累计排名、移动平均数和报表聚合等。
A.汇总B.分析C.分组D.单行B6、()SQL语句将为计算列SAL*12生成别名Annual SalaryA.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 UPDATEC.FOR DELETE D.FOR REFRESHC10、使用( )命令可以在已分区表的第一个分区之前添加新分区。
1.查询工资大于12000的员工姓名和工资Select last_name||' '||first_name,salary from employees where salary >12000;2.查询员工号为176的员工的姓名和部门号Select last_name||' '||first_name,department_id from employees where employee_id=176;3.选择工资不在5000到12000的员工的姓名和工资Select last_name||' '||first_name,salary from employees where salary not between 5000 and 12000;4.选择雇用时间在1998-02-01到1998-05-01之间的员工姓名,job_id和雇用时间Select last_name||' '||first_name,job_id,hire_date from employees where hire_date between '1-2月-98' and '1-5月-98';5.选择在20或50号部门工作的员工姓名和部门号Select last_name||' '||first_name,department_id from employees where department_id in (20,50);6.选择在1994年雇用的员工的姓名和雇用时间Select last_name||' '||first_name,hire_date from employees where hire_date like '%94';7.选择公司中没有管理者的员工姓名及job_idSelect last_name||' '||first_name,job_id from employees where Manger_id is null;8.选择公司中有奖金的员工姓名,工资和奖金Select last_name||' '||first_name,salary,commission_pct from employees where commission_pct is not null;9.选择员工姓名的第三个字母是a的员工姓名Select last_name||' '||first_name from employees where last_name||' '||first_name like '___a%';10.选择姓名中有字母a和e的员工姓名Select last_name||' '||first_name from employees where last_name||first_name like '%a%e%' or last_name||first_name like '%e%a%';多表查询11.显示所有员工的姓名,部门号和部门名称。
1.2.3.( )程序包用于读写操作系统文本文件。
(选一项)A、Dbms_outputB、Dbms_lobC、Dbms_randomD、Utl_file4.( )触发器允许触发操作的语句访问行的列值。
(选一项)A、行级B、语句级C、模式D、数据库级5.( )是oracle在启动期间用来标识物理文件和数据文件的二进制文件。
(选一项)A、控制文件B、参数文件C、数据文件D、可执行文件6.CREATE TABLE 语句用来创建(选一项)A、表B、视图C、用户D、函数7.imp命令的哪个参数用于确定是否要倒入整个导出文件。
(选一项)A、constranintsB、tablesC、fullD、file8.ORACLE表达式NVL(phone,'0000-0000')的含义是(选一项)A、当phone为字符串0000-0000时显示空值B、当phone为空值时显示0000-0000C、判断phone和字符串0000-0000是否相等D、将phone的全部内容替换为0000-00009.ORACLE交集运算符是(选一项)A、intersectB、unionC、setD、minus10.ORACLE使用哪个系统参数设置日期的格式(选一项)A、nls_languageB、nls_dateC、nls_time_zoneD、nls_date_format11.Oracle数据库中,通过()访问能够以最快的方式访问表中的一行(选一项)A、主键B、RowidC、唯一索引D、整表扫描12.Oracle数据库中,下面()可以作为有效的列名。
(选一项)A、ColumnB、123_NUMC、NUM_#123D、#NUM12313.Oracle数据库中,以下()命令可以删除整个表中的数据,并且无法回滚(选一项)A、dropB、deleteC、truncateD、cascade14.Oracle中, ( )函数将char或varchar数据类型转换为date数据类型。
Oracle基础(习题卷8)第1部分:单项选择题,共63题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]下列()不是一个角色A)CONNECTB)DBAC)RESOURCED)CREATE SESSION答案:D解析:2.[单选题]在以下命令中,一个使用哪一个来激活(开启)一个角色?( )A)SET ROLLB)ALTER USERC)CREATE ROLED)ALTER SYSTEM答案:A解析:3.[单选题]当一个段需要额外的磁盘空间时,应该增加哪一种数据库的逻辑组件?( )A)区段( extents)B)表空间C)数据库块D)操作系统块答案:A解析:4.[单选题]存储数据的逻辑单位,按大小依次为()。
A)表空间、数据块、区和段B)区、表空间、数据块和段C)段、区、表空间和数据块D)表空间、段、区和数据块答案:D解析:5.[单选题]A non-correlated subquery can be defined as . (Choose the best answer.)A)A set of one or more sequential queries in which generally the result of the inner query is used as the search value in the outer query.B)A set of sequential queries, all of which must return values from the same table.C)A set of sequential queries, all of which must always return a single value.D)A SELECT statement that can be embedded in a clause of another SELECT statement only.答案:A解析:C)alter system remove user brent cascade;D)drop user brent cascade;答案:D解析:7.[单选题]系统事件触发器共支持5种系统事件,下列()事件不会激发触发器。
1. /*1、选择在部门30中员工的所有信息*/2. select * from scott.emp where deptno = '30'3. /*2、列出职位为(MANAGER)的员工的编号,姓名*/4. select empno, ename from scott.emp where job = 'MANAGER'5. /*3、找出奖金高于工资的员工*/6. select * from scott.emp where comm > sal7. /*4、找出每个员工奖金和工资的总和*/8. select ename, sal + nvl(comm, 0) from scott.emp9. /*5、找出部门10中的经理(MANAGER)和部门20中的普通员工(CLERK) */10. select *11. from scott.emp12. where deptno = '10'13. and job = 'MANAGER'14. union15. select *16. from scott.emp17. where job = 'CLERK'18. and deptno = '20'19. /*6、找出部门10中既不是经理也不是普通员工,而且工资大于等于2000的员工*/20. select *21. from scott.emp22. where job != 'MANAGER'23. and job != 'CLERK'24. and sal > 200025. /*7、找出有奖金的员工的不同工作*/26. select distinct(job) from scott.emp where comm is not null27. /*8、找出没有奖金或者奖金低于500的员工*/28. select *29. from scott.emp30. where comm is not null31. and comm > 50032. /*9、显示雇员姓名,根据其服务年限,将最老的雇员排在最前面*/33. select ename34. from scott.emp35. order by (months_between(sysdate, hiredate) / 12) desc36.37. select ename,hiredate from scott.emp order by hiredate38. /*10、找出每个月倒数第三天受雇的员工*/39. select * from scott.emp where hiredate = last_day(hiredate) - 240. /*11、分别用case和decode函数列出员工所在的部门,deptno=10显示'部门10',41. deptno=20显示'部门20'42. deptno=30显示'部门30'43. deptno=40显示'部门40'44. 否则为'其他部门'*/45. select ename,46. case deptno47. when 10 then48. '部门10'49. when 20 then50. '部门20'51. when 30 then52. '部门30'53. when 40 then54. '部门40'55. else56. '其他部门'57. end 工资情况58. from scott.emp59.60. select ename,61. decode(deptno,62. 10,63. '部门10',64. 20,65. '部门20',66. 30,67. '部门30',68. 40,69. '部门40',70. '其他部门') 工资情况71. from scott.emp72. /*12、分组统计各部门下工资>500的员工的平均工资*/73. select avg(sal) from scott.emp where sal > 500 group by deptno74. /*13、统计各部门下平均工资大于500的部门*/75. select deptno from scott.emp group by deptno having avg(sal) > 50076. /*14、算出部门30中得到最多奖金的员工奖金*/77. select max(comm) from scott.emp where deptno = 3078. /*15、算出部门30中得到最多奖金的员工姓名*/79. select ename80. from scott.emp81. where deptno = 3082. and comm = (select max(comm) from scott.emp where deptno = 30)83. /*16、算出每个职位的员工数和最低工资*/84. select count(ename), min(sal), job from scott.emp group by job85. /*17、列出员工表中每个部门的员工数,和部门no */86. select count(ename), deptno from scott.emp group by deptno87. /*18、得到工资大于自己部门平均工资的员工信息*/88. select *89. from scott.emp e90. where sal > (select avg(sal) from scott.emp where e.deptno = deptno)91.92. select *93. from scott.emp e1,94. (select avg(sal) sals, deptno from scott.emp group by deptno) e295. where sal > sals96. and e1.deptno = e2.deptno97. /*19、分组统计每个部门下,每种职位的平均奖金(也要算没奖金的人)和总工资(包括奖金) */98. select avg(nvl(comm,0)), sum(sal + nvl(comm, 0))99. from scott.emp100. group by deptno,job101. /*20、笛卡尔集*/102. select * from scott.emp, scott.dept103. /*21、显示员工ID,名字,直属主管ID,名字*/104. select empno,105. ename,106. mgr,107. (select ename from scott.emp e1 where e1.empno = e2.mgr) 直属主管名字108. from scott.emp e2109. /*22、DEPT表按照部门跟EMP表左关联*/110. select *111. from scott.dept, scott.emp112. where scott.dept.deptno = scott.emp.deptno(+)113. /*23、使用此语句重复的内容不再显示了*/114. select distinct (job) from scott.emp115. /*24、重复的内容依然显示*/116. select *117. from scott.emp118. UNION ALL119. select * from scott.emp120. /*23和24题和22题是一样的*/121.122. /*25、只显示了两个表中彼此重复的记录。
*/123. select *124. from scott.dept, scott.emp125. where scott.dept.deptno(+) = scott.emp.deptno126. /*26、只显示了两张表中的不同记录*/127. select * from scott.emp union select * from scott.emp128. minus129. (select * from scott.emp intersect select * from scott.emp)130.131. (select * from scott.emp minus select * from scott.emp)132. union133. (select * from scott.emp minus select * from scott.emp)134. 表结构相同先union 只能有-135. /*27、列出员工表中每个部门的员工数,和部门no */136. select count(ename), deptno from scott.emp group by deptno137. /*28、列出员工表中每个部门的员工数(员工数必须大于3),和部门名称*/138. select count(deptno),139. deptno,140. (select dname from scott.dept where scott.dept.deptno = e1.deptno)141. from scott.emp e1142. group by deptno having count(deptno)>3143. /*29、找出工资比jones多的员工*/144. select *145. from scott.emp146. where sal > (select sal from scott.emp where ename = 'JONES')147. /*30、列出所有员工的姓名和其上级的姓名*/148. select ename,149. (select ename from scott.emp e1 where e1.empno = e2.mgr) 上级的姓名150. from scott.emp e2151. /*31、以职位分组,找出平均工资最高的两种职位*/152. select job153. from scott.emp154. group by job155. having avg(sal) in (select max(sal) from scott.emp group by job )156.157. select job158. from (select job, avg(sal)159. from scott.emp160. group by job161. order by avg(sal) desc)162. where rownum <= 2163.164. 最大的:165. select max(max_sal)166. from (select job, avg(sal) max_sal from scott.emp group by job)167. /*32、查找出不在部门20,且比部门20中任何一个人工资都高的员工姓名、部门名称*/168.169. select ename, dname170. from scott.emp e1, scott.dept e2171. where e1.deptno = e2.deptno172. and e1.deptno <> 20173. and sal > (select max(sal) from scott.emp where deptno = '20')174.175. /*33、得到平均工资大于2000的工作职种*/176. select job from scott.emp group by job having avg(sal) > 2000177. /*34、分部门得到工资大于2000的所有员工的平均工资,并且平均工资还要大于2500 */ 178. select avg(sal)179. from scott.emp180. where sal > 2000181. group by deptno182. having avg(sal) > 2500183. /*35、得到每个月工资总数最少的那个部门的部门编号,部门名称,部门位置*/ 184. select deptno, dname, loc185. from scott.dept186. where deptno in (select deptno187. from scott.emp188. group by deptno189. having sum(sal) = (select min(sum(sal))190. from scott.emp191. group by deptno))192.193. select * from scott.dept194. /*36、分部门得到平均工资等级为2级(等级表)的部门编号*/195. select deptno196. from scott.emp197. group by deptno198. having avg(sal) between (select losal from scott.salgrade where grade = 2) and (select hisal 199. from scott.salgrade200. where grade = 2)201.202. select avg(sal) from scott.emp group by deptno203. select * from scott.salgrade204. /*37、查找出部门10和部门20中,工资最高第3名到工资第5名的员工的员工名字,部门名字,部门位置*/205. select a.ename, dname, loc206. from (select *207. from (select rownum rn, deptno, empno, sal, ename208. from (select deptno, empno, sal, ename209. from scott.emp210. where deptno in (10, 20)211. and rownum <= 5212. order by sal desc))213. where rn between 3 and 5) a,214. scott.dept b215. where a.deptno = b.deptno216.217.218. select deptno, ename219. from (select empno, deptno, ename220. from (select rownum rn, deptno, empno, sal, ename221. from (select deptno, empno, sal, ename222. from scott.emp223. where deptno in (10, 20)224. order by sal desc))225. where rn between 3 and 5)226.227.228. /*38、查找出收入(工资加上奖金),下级比自己上级还高的员工编号,员工名字,员工收入*/229. select empno, ename, sal + nvl(comm, 0)230. from scott.emp e1231. where sal + nvl(comm, 0) >232. (select sal + nvl(comm, 0) from scott.emp where empno = e1.mgr)233.234. select * from scott.emp235. select ename, sal + nvl(comm, 0) from scott.emp236. /*39、查找出职位和'MARTIN' 或者'SMITH'一样的员工的平均工资*/237. select avg(sal)238. from scott.emp239. where job in (select job240. from scott.emp241. where ename = 'MARTIN'242. or ename = 'SMITH')243. /*40、查找出不属于任何部门的员工*/244. select * from scott.emp where deptno is null245. select * from scott.emp where deptno not in (select deptno from scott.emp)246. /*41、按部门统计员工数,查处员工数最多的部门的第二名到第五名(列出部门名字,部门位置)*/247. select dname, loc248. from (select *249. from (select rownum rn, deptno250. from (select deptno, count(*)251. from scott.emp252. group by deptno253. order by count(*) desc))254. where rn between 2 and 5) a,255. scott.dept b256. where a.deptno = b.deptno257.258. select count(*) from scott.emp group by deptno259. /*42、查询出king所在部门的部门号\部门名称\部门人数(多种方法)*/260. select sc.deptno, dname, count(*)261. from scott.emp sc, scott.dept de262. where sc.deptno = ((select deptno from scott.emp where ename = 'KING'))263. and de.deptno = sc.deptno264. group by sc.deptno, dname265.266.267. /*43、查询出king所在部门的工作年限最大的员工名字*/268. select *269. from scott.emp270. where hiredate =271. (select min(hiredate)272. from scott.emp273. where deptno in (select deptno from scott.emp where ename = 'KING'))274. and deptno = (select deptno from scott.emp where ename = 'KING')275. /*44、查询出工资成本最高的部门的部门号和部门名称*/276. select deptno, dname277. from scott.dept278. where deptno = (select deptno279. from scott.emp280. group by deptno281. having sum(sal) = (select max(sum(sal))282. from scott.emp283. group by deptno))284.285. select * from scott.emp for update使用scott/tiger用户下的emp表和dept表完成下列练习,表的结构说明如下emp员工表(empno员工号/ename员工姓名/job工作/mgr上级编号/hiredate受雇日期/sal薪金/comm佣金/deptno部门编号)dept部门表(deptno部门编号/dname部门名称/loc地点)工资=薪金+佣金1.列出至少有一个员工的所有部门。