oracle习题及答案
最新Oracle-笔试题目带答案

1.( )程序包用于读写操作系统文本文件。
(选一项)A、Dbms_outputB、Dbms_lobC、Dbms_randomD、Utl_file2.( )触发器允许触发操作的语句访问行的列值。
(选一项)A、行级B、语句级C、模式D、数据库级3.( )是oracle在启动期间用来标识物理文件和数据文件的二进制文件。
(选一项)A、控制文件B、参数文件C、数据文件D、可执行文件4.CREATE TABLE 语句用来创建(选一项)A、表B、视图C、用户D、函数5.imp命令的哪个参数用于确定是否要倒入整个导出文件。
(选一项)A、constranintsB、tablesC、fullD、file6.ORACLE表达式NVL(phone,'0000-0000')的含义是(选一项)A、当phone为字符串0000-0000时显示空值B、当phone为空值时显示0000-0000C、判断phone和字符串0000-0000是否相等D、将phone的全部内容替换为0000-00007.ORACLE交集运算符是(选一项)A、intersectB、unionC、setD、minus8.ORACLE使用哪个系统参数设置日期的格式(选一项)A、nls_languageB、nls_dateC、nls_time_zoneD、nls_date_format9.Oracle数据库中,通过()访问能够以最快的方式访问表中的一行(选一项)A、主键B、RowidC、唯一索引D、整表扫描10.Oracle数据库中,下面()可以作为有效的列名。
(选一项)A、ColumnB、123_NUMC、NUM_#123D、#NUM12311.Oracle数据库中,以下()命令可以删除整个表中的数据,并且无法回滚(选一项)A、dropB、deleteC、truncateD、cascade12.Oracle中, ( )函数将char或varchar数据类型转换为date数据类型。
Oracle 考试试题(带答案)

a) b) c) d) 参考答案
OracleHOME_NAMETNSListener OracleServiceSID OracleHOME_NAMEAgent OracleHOME_NAMEHTTPServer
B
9) 在 Oracle 中创建用户时,若未提及 DEFAULT TABLESPACE 关键字,则 Oracle 就将()表空间分配 给用户作为默认表空间。。
DATEPART EXTRACT TO_CHAR TRUNC
bc
5) 在Oracle中,有一个教师表teacher的结构如下: ID NUMBER(5) NAME VARCHAR2(25) EMAIL VARCHAR2(50) 下面哪个语句显示没有Email地址的教师姓名()。
a) b) c) d) 参考答案
a) b) c) d) 参考答案
OracleHOME_NAMETNSListener OracleServiceSID OracleHOME_NAMEAgent OracleHOME_NAMEHTTPServer
a
8) 在Windows操作系统中,Oracle的()服务是使用 iSQL*Plus必须的。
A
12) 在Oracle中,下面用于限制分组函数的返回值的子句是 ()。
a) WHERE b) HAVING c) ORDER BY d) 无法限定分组函数的返回值
参考答案 b
13) 在Oracle中,有一个名为seq的序列对象,以下语句能返 回序列值但不会引起序列值增加的是()。
a) b) c) d) 参考答案
%NOTFOUND %FOUND %ROWTYPE %ISOPEN %ROWCOUNT
c
15) 在Oracle中,当控制一个显式游标时,下面哪种命令包 含INTO子句()。
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、在连接操作中,如果左表和右表中不满足连接条件的数据都出现在结果中,那么这种连接是全外连接。
Oracle数据库应用 复习题及答案

Oracle数据库应用复习题(参考答案见P15)一、选择题1、以下()内存区不属于SGA。
A. PGAB. 日志缓冲区C. 数据缓冲区D. 共享池2、一个数据库由若干个()组成。
A.段B. 表空间C. 块D. 区3、在Oracle 中创建用户时,若未使用DEFAULT TABLESPACE 关键字,则Oracle就将()表空间分配给用户作为默认表空间,将()表空间分配给用户作为临时表空间。
A.TEMPB. USERSC. SYSTEMD. EXAMPLE4、监听并接受来自客户端应用程序连接请求的服务是()。
A. OracleCSServiceB. OracleDBConsoleSIDC. OracleJobSchedulerD. OracleOraDb10g_home1TNSListener5、()是一个小二进制文件,它维护着数据库的全局物理结构,用以支持数据库成功地启动和运行。
A. 数据文件B. 控制文件C. 日志文件D. 参数文件6、()进程把修改过的数据块从内存写回到数据库的数据文件中。
A. DBWRB. LGWRC. CKPTD. SMON7、()的任务是将已经写满的联机日志文件复制到归档日志文件中。
这仅在数据库运行在归档模式下时才发生。
A.恢复进程B. 进程监视进程C. 作业队列D. 归档进程8、()数据库应用架构又称为“瘦客户机”模式。
A. 多磁盘结构B. 两层模式C. 三层模式D. 磁盘映像9、数据字典表保存表、索引、视图以及所有其他数据结构的信息。
它们属于()用户。
A. SYSB. SYSTEMC. SCOTTD. SYSMAN10、如果用户要安装、查看和卸载Oracle 数据库系统,就需要使用()。
A. 通用安装器B. 数据库配置助手C. 企业管理器D. 网络配置助手11、如果用户需要在安装好Oracle的系统上创建、修改和删除数据库,就需要使用()。
A. 通用安装器B. 数据库配置助手C. 企业管理器D. 网络配置助手12、要删除一个大表里的所有记录,并释放占用的表空间,可以使用()命令。
oracle数据库的试题及答案

oracle数据库的试题及答案一、选择题1. Oracle数据库是一种()数据库管理系统。
A. 非关系型B. 关系型C. 分布式D. 图形化2. 数据库中,将所有数据进行分类和组织的基本单位是()。
A. 表B. 字段C. 记录D. 数据库3. 在Oracle数据库中,用于删除表中所有数据的操作是()。
A. DELETEB. REMOVEC. DROPD. TRUNCATE4. 在Oracle数据库中,用于更新表中数据的操作是()。
A. UPDATEB. MODIFYC. ALTERD. REPLACE5. 在Oracle数据库中,用于查询数据的操作是()。
A. SELECTB. SEARCHC. FINDD. WHERE二、简答题1. 请简述Oracle数据库的特点。
Oracle数据库具有以下特点:- 完整性:通过约束和触发器来保证数据的完整性。
- 可扩展性:支持集群部署和分布式数据库,可以动态扩展数据库的容量。
- 安全性:提供了严格的数据权限管理和用户认证机制,保护数据免受未经授权的访问。
- 可靠性:支持数据备份和恢复功能,保障数据的持久性和可靠性。
- 高性能:采用多线程和缓存技术,提高数据库的读写性能和响应速度。
2. 在Oracle数据库中,什么是事务?事务是指逻辑上的一组操作,这组操作要么全部成功执行,要么全部失败回滚。
事务具有以下特性:- 原子性:事务中的操作要么全部执行成功,要么全部回滚,不会出现部分执行的情况。
- 一致性:事务执行前后,数据库的状态保持一致性,不会破坏数据的完整性。
- 隔离性:事务之间相互独立,每个事务都认为自己是唯一在操作数据库的。
- 持久性:事务一旦提交,其对数据库的修改将永久保存,不会被回滚。
3. 请说明Oracle数据库中的索引是什么,并简要介绍索引的作用。
索引是一种特殊的数据库对象,用于快速查找数据库中的数据。
索引基于一个或多个列值创建,并按照特定的排序规则存储列值和对应的行指针。
oracle笔试题及答案

oracle笔试题及答案一、选择题1. Oracle数据库是一种()数据库管理系统。
A. 关系型B. 非关系型C. 层次型D. 网状型答案:A2. 下列哪个选项不属于Oracle数据库的特点?A. 完全支持SQL语言B. 支持分布式数据库C. 提供高可用性和故障恢复机制D. 仅支持单用户操作答案:D3. 在Oracle数据库中,下列关键字中哪个用于插入一行数据?A. UPDATEB. DELETEC. SELECTD. INSERT答案:D4. 在Oracle数据库中,下列关键字中哪个用于从表中删除一行数据?A. TRUNCATEB. DROPC. DELETED. REMOVE答案:C5. 在Oracle数据库中,下列关键字中哪个用于更新表中的数据?A. MODIFYB. ALTERC. UPDATED. CHANGE答案:C6. 在Oracle数据库中,下列哪个语句用于创建一个新的用户?A. CREATE ROLEB. CREATE USERC. GRANT PERMISSIOND. ALTER ACCOUNT答案:B7. 在Oracle数据库中,下列关键字中哪个用于将表中的数据按照指定的列进行排序?A. SORTB. GROUPC. ORDERD. ARRANGE答案:C8. 在Oracle数据库中,下列关键字中哪个用于查询满足特定条件的数据?A. SELECTB. SEARCHC. FINDD. FILTER答案:A9. 在Oracle数据库中,下面哪个关键字用于创建新的表?A. CREATEB. MAKEC. BUILDD. CONSTRUCT答案:A10. 下列哪个Oracle数据库对象用于避免数据冗余,提高查询速度,并提供数据的一致性和完整性?A. 视图(View)B. 函数(Function)C. 存储过程(Stored Procedure)D. 游标(Cursor)答案:A二、简答题请简要回答以下问题。
oracle期末考试题及答案

oracle期末考试题及答案一、选择题(每题2分,共20分)1. Oracle数据库中的用户和模式是什么关系?A. 完全相同B. 完全不同C. 模式是用户的集合D. 用户是模式的集合答案:C2. 在Oracle数据库中,以下哪个命令用于查看当前用户?A. SELECT USER FROM DUAL;B. SELECT CURRENT_USER FROM DUAL;C. SELECT SESSION_USER FROM DUAL;D. SELECT SYSTEM_USER FROM DUAL;答案:A3. Oracle数据库中的哪个参数用于设置数据库的字符集?A. DB_CHARSETB. NLS_CHARACTERSETC. DB_LANGUAGED. NLS_LANGUAGE答案:B4. 在Oracle数据库中,以下哪个不是SQL语句?A. SELECTB. UPDATEC. DELETED. PRINT答案:D5. Oracle数据库中的触发器可以在哪些时刻执行?A. 数据插入前B. 数据更新前C. 数据删除后D. 数据查询时答案:ABC二、填空题(每空2分,共20分)1. Oracle数据库的默认表空间名称是 _ 。
答案:SYSTEM2. 在Oracle数据库中,用来查看当前数据库版本信息的命令是 _ 。
答案:SELECT * FROM V$VERSION;3. Oracle数据库中,用来创建索引的SQL语句是 _ 。
答案:CREATE INDEX;4. 在Oracle数据库中,存储过程和函数的区别在于存储过程可以有_ ,而函数不能。
答案:OUT参数5. Oracle数据库中,用于实现数据完整性的约束包括主键约束、外键约束、 _ 和CHECK约束。
答案:UNIQUE约束三、简答题(每题10分,共30分)1. 解释Oracle数据库中的视图是什么,并说明其优点。
答案:视图是Oracle数据库中的一种虚拟表,它是基于一个或多个表的查询结果。
Oracle笔试题库附参考答案

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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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.显示所有员工的姓名,部门号和部门名称。
Select st_name,d.department_id,d.department_name from employeese , departments d where (e.department_id=d.department_id);12.查询90号部门员工的job_id和90号部门的location_idSelect e.job_id,d.location_id from employees e, departments d wheree.department_id=d.deparement_id and d.department_id=90;13.选择所有有奖金的员工的last_name , department_name , location_id , citySelect st_name , d.department_name , l.location_id , city from employees e,departments d,locations l where e.department_id=d.department_id AND d.location_id=l.location_idAND commission_pct is not null;14.选择在Toronto工作的员工的last_name , job_id , department_id , department_nameSelect st_name , e.job_id , d.department_id , d.department_name from employees e,departments d ,locations l where e.department_id=d.department_id AND d.location_id=l.location_id AND l.city='Toronto';15.选择所有员工的姓名,员工号,以及他的管理者的姓名和员工号,结果类似于下面的格式Select e.employee_id "employees",st_name "Emp#",d.manager_id "Mgr#",st_name "manger" from employees e,employees d wheree.manager_id=d.employee_id(+);6. 查询各部门员工姓名和他们的同事姓名,结果类似于下面的格式Select e.department_id "Department_id", st_name "Last_name", st_name "colleague" from employees e join employees d on(d.department_id=e.department_id) where st_name<>st_name;分组查询16.组函数处理多行返回一行(true)17.组函数不计算空值(false)18.where子句在分组之前对检索进行过滤( true)19.查询公司员工工资的最大值,最小值,平均值,总和Select max(salary),min(salary),avg(salary),sum(salary) from employees;20.查询各job_id的员工工资的最大值,最小值,平均值,总和Select max(salary),min(salary),avg(salary),sum(salary) from employees group by job_id;21.选择具有各个job_id的员工人数Select job_id,count(*) from employees group by job_id;22.查询员工最高工资和最低工资的差距(DIFFERENCE)Select max(salary)-min(salary) "DIFFERENCE" from employees;23.查询各个管理者手下员工的最低工资,其中最低工资不能低于6000,没有管理者的员工不计算在内Select manager_id,min(salary) from employees where manager_id is not null group by manager_id having min(salary) >=6000;24.查询所有部门的名字,location_id,员工数量和工资平均值Selectd.department_name,d.location_id,count(e.employee_id),avg(e.salary) from employees e,departments d where e.department_id(+)=d.department_id group byd.location_id,d.department_name;25.查询公司的人数,以及在1995-1998年之间,每年雇用的人数,结果类似下面的格式Select count(employee_id),to_char(hire_date,'yyyy') "y";count(*) from employees where to_char(hire_date,'yyyy') between 1995 and 1998 group by to_char(hire_date,'yyyy') order by y;Select子查询26.查询和zlotkey相同部门的员工姓名和雇用日期Select last_name,hire_date,department_id from employees where department_id=(select department_id from employees where lower(last_name)='zlotkey') ;27.查询工资比公司平均工资高的员工的员工号,姓名和工资。
Select employee_id,last_name,salary from employees where salary>(select avg(salary) from employees );28.查询和姓名中包含字母u的员工在相同部门的员工的员工号和姓名Select employee_id,last_name,department_id from employees where department_id =any (select department_id from employees where lower(last_name) like '%u%');29.查询在部门的location_id为1700的部门工作的员工的员工号,department_id和job_idSelect employee_id,department_id,job_id from employees where department_id = any (select department_id from departments where location_id=1700);30.查询管理者是king的员工姓名和工资Select last_name,salary from employees where manager_id=(select employee_id from employees where last_name='King');创建和管理表31.创建表deptCreate table dept( id Number(7),name varchar(25));32.将表departments中的数据插入表dept中Insert into dept(SELECT department_id, department_nameFROM departments);33.创建表empCreate table emp (id Number(7),First_name varchar(25),Last_name varchar(25),Dept_id number(7));34.将列Last_name的长度增加到50Alter table emp modify (last_name varchar2(50));35.查询数据字典视图user_tables检查刚才的操作Select * from user_tables;36.根据表employees创建employees2Create table employees2 asselect * from employees;37.删除表empDrop table emp;38.将表employees2重命名为empRename employees2 to emp;39.在表dept和emp中添加新列test_column,并检查所作的操作Alter table emp add(test_column varchar(10));单行函数40.显示系统时间Select to_char(sysdate 'DD-MON-YYYY')from dual;41.查询员工号,姓名,工资,以及工资提高百分之20%后的结果(newsalary)Select employee_id,last_name||' '||first_name,salary,salary*1.2 newsalary from employees;42.将员工的姓名按首字母排序,并写出姓名的长度(length)Select last_name,length(last_name) from employees order by substr(last_name,1,1) desc;43.查询各员工的姓名,并显示出各员工在公司工作的月份数(worked_month)。