Oracle练习题讲解

合集下载

Oracle经典练习题及标准答案

Oracle经典练习题及标准答案

Oracle经典练习题及标准答案oracle经典练习sql/*1、选择在部门30中员工的所有信息*/select * from scott.emp where deptno = '30'/*2、列出职位为(MANAGER)的员工的编号,姓名*/select empno, ename from scott.emp where job = 'MANAGER'/*3、找出奖金高于工资的员工*/select * from scott.emp where comm > sal/*4、找出每个员工奖金和工资的总和*/select ename, sal + nvl(comm, 0) from scott.emp/*5、找出部门10中的经理(MANAGER)和部门20中的普通员工(CLERK) */select *from scott.empwhere deptno = '10'and job = 'MANAGER'unionselect *from scott.empwhere job = 'CLERK'and deptno = '20'/*6、找出部门10中既不是经理也不是普通员工,而且工资大于等于2000的员工*/ select *from scott.empwhere job != 'MANAGER'and job != 'CLERK'and sal > 2000/*7、找出有奖金的员工的不同工作*/select distinct(job) from scott.emp where comm is not null /*8、找出没有奖金或者奖金低于500的员工*/select *from scott.empwhere comm is not nulland comm > 500/*9、显示雇员姓名,根据其服务年限,将最老的雇员排在最前面*/select enamefrom scott.emporder by (months_between(sysdate, hiredate) / 12) descselect ename,hiredate from scott.emp order by hiredate/*10、找出每个月倒数第三天受雇的员工*/select * from scott.emp where hiredate = last_day(hiredate) - 2/*11、分别用case和decode函数列出员工所在的部门,deptno=10显示'部门10',deptno=20显示'部门20'deptno=30显示'部门30'deptno=40显示'部门40'否则为'其他部门'*/select ename,case deptnowhen 10 then'部门10'when 20 then'部门20'when 30 then'部门30'when 40 then'部门40'else'其他部门'end 工资情况from scott.empselect ename,decode(deptno,10,'部门10',20,'部门20',30,'部门30',40,'部门40','其他部门') 工资情况from scott.emp/*12、分组统计各部门下工资>500的员工的平均工资*/select avg(sal) from scott.emp where sal > 500 group by deptno/*13、统计各部门下平均工资大于500的部门*/select deptno from scott.emp group by deptno having avg(sal) > 500 /*14、算出部门30中得到最多奖金的员工奖金*/ select max(comm) from scott.emp where deptno = 30/*15、算出部门30中得到最多奖金的员工姓名*/select enamefrom scott.empwhere deptno = 30and comm = (select max(comm) from scott.emp where deptno = 30) /*16、算出每个职位的员工数和最低工资*/select count(ename), min(sal), job from scott.emp group by job/*17、列出员工表中每个部门的员工数,和部门no */select count(ename), deptno from scott.emp group by deptno/*18、得到工资大于自己部门平均工资的员工信息*/select *from scott.emp ewhere sal > (select avg(sal) from scott.emp where e.deptno = deptno)select *from scott.emp e1,(select avg(sal) sals, deptno from scott.emp group by deptno) e2where sal > salsand e1.deptno = e2.deptno/*19、分组统计每个部门下,每种职位的平均奖金(也要算没奖金的人)和总工资(包括奖金) */select avg(nvl(comm,0)), sum(sal + nvl(comm, 0))from scott.empgroup by deptno,job/*20、笛卡尔集*/select * from scott.emp, scott.dept/*21、显示员工ID,名字,直属主管ID,名字*/select empno,ename,mgr,(select ename from scott.emp e1 where e1.empno = e2.mgr) 直属主管名字from scott.emp e2/*22、DEPT表按照部门跟EMP表左关联*/select *fromscott.dept, scott.empwherescott.dept.deptno = scott.emp.deptno(+)/*23、使用此语句重复的内容不再显示了*/select distinct (job) from scott.emp/*24、重复的内容依然显示*/select *from scott.empUNION ALLselect * from scott.emp/*23和24题和22题是一样的*//*25、只显示了两个表中彼此重复的记录。

Oracle练习题讲解

Oracle练习题讲解

一、填空1.在多进程Oracle实例系统中,进程分为用户进程、后台进程和服务进程。

2.标准的SQL语言语句类型可以分为:数据定义语句(DDL)、数据操纵语句(DML)和数据控制语句(DCL)。

3.在需要滤除查询结果中重复的行时,必须使用关键字Distinct; 在需要返回查询结果中的所有行时,可以使用关键字ALL。

4.当进行模糊查询时,应使用关键字like和通配符问号(?)或百分号"%"。

5.Where子句可以接收From子句输出的数据,而HA VING子句则可以接收来自WHERE、FROM或GROUP BY子句的输入。

6.在SQL语句中,用于向表中插入数据的语句是Insert。

7.如果需要向表中插入一批已经存在的数据,可以在INSERT语句中使用Select 语句。

8.使用Describe命令可以显示表的结构信息。

9.使用SQL*Plus的Get命令可以将文件检索到缓冲区,并且不执行。

10.使用Save命令可以将缓冲区中的SQL命令保存到一个文件中,并且可以使用Run命令运行该文件。

11.一个模式只能够被一个数据库对象所拥有,其创建的所有模式对象都保存在自己的模式中。

12.根据约束的作用域,约束可以分为表级约束和列级约束两种。

列级约束是字段定义的一部分,只能够应用在一个列上;而表级约束的定义独立于列的定义,它可以应用于一个表中的多个列。

13.填写下面的语句,使其可以为Class表的ID列添加一个名为PK_CLASS_ID 的主键约束。

ALTER TABLE ClassAdd ____________ PK_LASS_ID (Constraint)PRIMARY KEY ________ (ID)14. 每个Oracle 10g数据库在创建后都有4个默认的数据库用户:system、sys、sysman和DBcnmp15. Oracle提供了两种类型的权限:系统权限和对象权限。

oracle练习题及答案

oracle练习题及答案

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经典练习题(很全面)讲解学习

Oracle经典练习题(很全面)讲解学习

O r a c l e经典练习题(很全面)Oracle 经典练习题一.创建一个简单的PL/SQL程序块1.编写一个程序块,从emp表中显示名为“SMITH”的雇员的薪水和职位。

declarev_emp emp%rowtype;beginselect * into v_emp from emp where ename='SMITH';dbms_output.put_line('员工的工作是:'||v_emp.job||' ;他的薪水是:'||v_emp.sal);end;2.编写一个程序块,接受用户输入一个部门号,从dept表中显示该部门的名称与所在位置。

方法一:(传统方法)declarepname dept.dname%type;ploc dept.loc%type;pdeptno dept.deptno%type;beginpdeptno:=&请输入部门编号;select dname,loc into pname,ploc from dept wheredeptno=pdeptno;dbms_output.put_line('部门名称: '||pname||'所在位置:'||ploc);exception –异常处理when no_data_foundthen dbms_output.put_line('你输入的部门编号有误!!');when othersthen dbms_output.put_line('其他异常');end;方法二:(使用%rowtype)declareerow dept%rowtype;beginselect * into erow from dept where deptno=&请输入部门编号;dbms_output.put_line(erow.dname||'--'||erow.loc); exceptionwhen no_data_foundthen dbms_output.put_line('你输入的部门号有误!!!');when othersthen dbms_output.put_line('其他异常');end;3.编写一个程序块,利用%type属性,接受一个雇员号,从emp表中显示该雇员的整体薪水(即,薪水加佣金)。

Oracle练习day04(附答案及多种解法)

Oracle练习day04(附答案及多种解法)

Oracle练习day04(附答案及多种解法)day01(附答案)(由于内容太过于简单上传没有被百度文库通过,于是和day04一起上传上来)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.选择职员表中员工姓名的第三个字母是A的员工姓名。

select ename from emp where ename like '__A%';6.列出部门表中的部门名字和所在城市。

select dname,loc from dept;7.显示出职员表中的不重复的岗位job。

select distinct job from emp;8连接职员表中的职员名字、职位、薪水,列之间用逗号连接,列头显示成OUT_PUT(提示:使用连接符||、别名)。

select '姓名:' || ename || ',职位' || job || ',薪水' || sal OUT_PUT from emp9查询职员表emp中员工号、姓名、工资,以及工资提高百分之20%后的结果。

select empno,ename,sal,sal*1.2 sals from emp;10列出除了ACCOUNT部门还有哪些部门。

Oracle数据库入门笔试试题及参考答案

Oracle数据库入门笔试试题及参考答案

《数据库入门》试题姓名:一、简答题(共40分,每小题10分)1、如何理解空值(null)?空值在参与运算时有什么特点?2、简述参照完整性约束。

3、简述Oracle客户端tnsnames.ora文件的作用。

4、简述事务及其性质。

二、运算题(共60分,每小题5分)针对课本图1.2中的关系模式,用SQL完成下列操作。

1、查询姓张的病人姓名和出生年份。

select xm,substr(to_char(sysdate,'yyyy.mm.dd'),1,4)from dw.per_natlwhere xm like '张%';注意:题目要求查询出生年份,不是出生日期。

2、查询女病人的平均年龄。

update dw.per_natl aset nl=(select to_number(substr(to_char(sysdate,'yyyy.mm.dd'),1,4)) -to_number(substr(to_char(csrq,'yyyy.mm.dd'),1,4)) from dw.per_natl bwhere a.grbm=b.grbm);select avg(nl)from dw.per_natlwhere xb='2';考虑下列SQL:select avg(nvl(nl,0))from dw.per_natlwhere xb='2';3、查询发生过费用的病人总人数。

select count(distinct grbm)from dw.patient_script_genl;此处必须使用distinct4、查询2000年以后出生的病人姓名。

select xmfrom dw.per_natlwhere substr(to_char(sysdate,'yyyy.mm.dd'),1,4)>'2000';5、查询没有被使用过的医疗项目编码和名称。

oracle试题答案解释版

oracle试题答案解释版

oracle试题答案解释版要求20道判断、20道单选选择10道多选7道问答3道编程,再加20道填空一、单项选择题(每题1分,共20分)1、在Oracle中,一个用户拥有的所有数据库对象统称为(B)A)数据库B)模式C)表空间D)实例2、在Oracle中创建用户时,若未提及DEFAULTTABLESPACE关键字,则Oracle就将(D)表空间分配给用户作为默认表空间。

A)USERB)SYSC)DEFAULTD)SYSTEM3、在oracle中获取前10条的关键字是(D)A)topB)LimitC)firtD)rownum解释:top是qlerver数据库的关键字,limit是myql数据库的关键字,firt是informi某数据库的关键字4、在Oracle中,(B)操作符返回并集操作并不包括重复行A)InterectB)UnionC)UnionallD)Minu解释:Interect返回交集,union返回并集,不包括重复行,unionall返回并集,包括重复行,minu返回差集5、下面那个语句是错误的(D)A)createynonymdept_ynonforcott.deptB)createequencedept_equei ncrementby1C)alterequencedept_equeincrementby2D)dropdept_ynon6、oracle数据库中,通过(C)可以以最快的方式访问表中的一行。

A)主键B)唯一索引C)rowidD)全表扫描7、下面那个不是oracle程序设计中的循环语句(A)A)for…endforB)loop…endloopC)while…endloopD)for…endloop8、oracle存储结构正确的是(B)A)tablepace--egment--oblock--blockB)tablepace--egment--e某tent--blockC)tablepace--e某tent--egment--blockD)tablepace--e某tent--block–egment9、若tnname.ora文件中部分配置如下:某fhtdb=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=hello)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=cce)))则表明:(C)A)Oracle服务器所在的主机名为DEDICATEDB)Oracle服务器所在的主机名为cceC)对应数据库的SID为cceD)对应数据库的SID为某fhtdb10、现在要启动数据库,那么下面哪一个启动语句是错误的(A)A)STRATUPNORMALB)STRATUPFORCEC)STRATUPNOMOUNTD)STARTUPMOUNT11、授予a用户在SCOTT.EMP表中SAL列的更新权限的语句是:(C)A)GRANTCHANGEONSCOTT.EMPTOSAB)GRANTUPDATEONSCOTT.EMP(SAL)TOSAC)GRANTUPDATE(SAL)ONSCOTT.E MPTOSAD)GRANTMODIFYONSCOTT.EMPTOSA12、一个表有百万以上数据,其中一个列经常被作为查询条件并且只有25个不同数据,适合使用(C)索引提高查询速度。

oracle课后填空选择问题详解

oracle课后填空选择问题详解

第二章1.Oracle 数据库系统的物理存储结构主要由3 类文件组成,分别为数据文件、日志文件、控制文件。

2.用户对数据库的操作如果产生日志信息、则该日志信息首先被存储在日志缓冲区中,随后由LGWR进程保存到日志文件。

3.一个表空间物理上对应一个或多个数据文件。

4.在Oracle 的逻辑存储结构中,根据存储数据的类型,可以将段分为数据段、索引段、回退段、LOB 段和临时段。

5.在Oracle 的逻辑存储结构中,数据块是最小的I/O 单元。

6.在多进程Oracle 实例系统中,进程分为用户进程、后台进程和服务器进程。

当一个用户运行应用程序,如PRO*C 程序或一个Oracle 工具(如SQL*Plus),系统将为用户运行的应用程序建立一个用户进程。

1.下列选项中,哪一部分不是Oracle 实例的组成部分? CA.系统全局区SGAB. PMON 后台进程C.控制文件D.Dnnn 调度进程2.在全局存储区SGA 中,哪部分内存区域是循环使用的? BA.数据缓冲区B.日志缓冲区C.共享池D.大池3.解析后的SQL 语句在SGA 的哪个区域中进行缓存? CA.数据缓冲区B.日志缓冲区C.共享池D.大池4.如果一个服务进程非正常终止,Oracle 系统将使用下列哪一个进程来释放它所占用的资源? DA.DBWRB.LGWRC.SMOND.PMON5.如果服务器进程无法在数据缓冲区中找到空闲缓存块,以添加从数据文件中读取的数据块,则将启动如下哪一个进程? DA.CKPTB.SMONC.LGWRD.DBWR6.下列关于共享服务器模式的叙述哪一项不正确? AA.在共享服务器操作模式下,每一个用户进程必须对应一个服务器进程B.一个数据库实例可以启动多个调度进程C.在共享服务器操作模式下,Oracle 实例将启动调度进程Dnnn 为用户进程分配服务进程D.共享服务器操作模式可以实现少量服务器进程为大量用户进程提供服务7.当数据库运行在归档模式下时,如果发生日志切换,为了保证不覆盖旧的日志信息,系统将启动如下哪一个进程? DA.DBWRB.LGWRC.SMOND.ARCH8.下列哪一个进程和数据库部件可以保证用户对数据库所做的修改在没有保存的情况下,不会发生丢失修改数据? CA.DBWR 和数据文件B.LGWR 和日志文件组C.CKPT 和控制文件D.ARCH 和归档日志文件9.下列哪一个进程用于将修改过的数据从内存保存到磁盘数据文件中? AA.DBWRB.LGWRC.RECOD.ARCH10.如果要查询数据库中所有表的信息,应当使用下列哪种数据字典视图? AA.DBA 视图B.ALL 视图ER 视图D.动态性能视图11.下列哪一项是Oracle 数据库中最小的存储分配单元? DA.表空间B.段C.盘区D.数据块12.下面的各项中哪一个正确描述了Oracle 数据库的逻辑存储结构? AA.表空间由段组成,段由盘区组成,盘区由数据块组成B.段由表空间组成,表空间由盘区组成,盘区由数据块组成C.盘区由数据块组成,数据块由段组成,段由表空间组成D.数据块由段组成,段由盘区组成,盘区由表空间组成第三章1.标准的SQL 语言语句类型可以分为:数据定义语句(DDL)、数据操纵语句(DML)和数据控制语句(DCL)。

Oracle测试题(卷)+答案解析

Oracle测试题(卷)+答案解析

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基础(习题卷1)

Oracle基础(习题卷1)

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 '\';命令执行的返回结果是( )。

史上最全Oracle数据库基本操作练习试题[含答案解析]

史上最全Oracle数据库基本操作练习试题[含答案解析]

Oracle基本操作练习题使用表:员工表(emp):(empno NUMBER(4)notnull,--员工编号,表示唯一ename VARCHAR2(10),--员工姓名job VARCHAR2(9),--员工工作职位mgr NUMBER(4),--员工上级领导编号hiredate DATE,--员工入职日期sal NUMBER(7,2),--员工薪水comm NUMBER(7,2),--员工奖金deptno NUMBER(2)—员工部门编号)部门表(dept):(deptno NUMBER(2)notnull,--部门编号dname VARCHAR2(14),--部门名称loc VARCHAR2(13)—部门地址)说明:增删改较简单,这些练习都是针对数据查询,查询主要用到函数、运算符、模糊查询、排序、分组、多变关联、子查询、分页查询等。

建表脚本.txt建表脚本(根据需要使用):练习题:1.找出奖金高于薪水60%的员工信息。

SELECT * FROM emp WHERE comm>sal*0.6;2.找出部门10中所有经理(MANAGER)和部门20中所有办事员(CLERK)的详细资料。

SELECT * FROM emp WHERE (JOB='MANAGER' AND DEPTNO=10) OR (JOB='CLERK' AND DEPTNO=20);3.统计各部门的薪水总和。

SELECT deptno,SUM(sal) FROM emp GROUP BY deptno;4.找出部门10中所有理(MANAGER),部门20中所有办事员(CLERK)以及既不是经理又不是办事员但其薪水大于或等2000的所有员工的详细资料。

SELECT * FROM emp WHERE (JOB='MANAGER' AND DEPTNO=10) OR (JOB='CLERK' AND DEPTNO=20) OR (JOB NOT IN('MANAGER','CLERK') AND SAL>2000);5.列出各种工作的最低工资。

oracle练习题进阶题

oracle练习题进阶题

oracle练习题进阶题Oracle练习题进阶题Oracle数据库是世界上最流行的关系型数据库管理系统之一,广泛应用于各行各业。

为了更好地掌握Oracle数据库的使用,我们需要不断提升自己的技能,包括解决一些较为复杂的练习题。

本文将介绍一些Oracle练习题的进阶内容,帮助读者更好地理解和应用Oracle数据库。

1. 子查询和连接查询的应用在实际的数据库操作中,经常需要通过子查询或连接查询来获取所需的数据。

假设我们有两个表,一个是员工表(EMPLOYEE),包含员工的ID、姓名和所属部门等信息;另一个是部门表(DEPARTMENT),包含部门的ID和名称等信息。

现在我们需要查询每个部门的员工人数,并按照人数降序排列,该如何实现呢?可以使用子查询来实现这个需求,先查询每个部门的员工人数,然后再按照人数降序排列。

具体的SQL语句如下:```sqlSELECT d.department_name, COUNT(e.employee_id) AS employee_countFROM department dLEFT JOIN employee e ON d.department_id = e.department_idGROUP BY d.department_nameORDER BY employee_count DESC;```2. 窗口函数的使用窗口函数是Oracle数据库中非常强大的功能之一,可以用于计算和统计数据,同时还可以实现一些高级的查询需求。

假设我们有一个订单表(ORDERS),包含订单的ID、日期和金额等信息。

现在我们需要查询每个订单的金额,以及该订单金额与同一日期中其他订单金额的差值,该如何实现呢?可以使用窗口函数来实现这个需求,通过LAG函数获取前一行的订单金额,然后计算差值。

具体的SQL语句如下:```sqlSELECT order_id, order_date, order_amount,order_amount - LAG(order_amount) OVER (PARTITION BY order_date ORDER BY order_id) AS amount_diffFROM orders;```3. 分区表的创建和管理分区表是Oracle数据库中用于提高查询性能和管理数据的重要技术之一。

ORACLE11g精彩试题问题详解(陈冬亮)

ORACLE11g精彩试题问题详解(陈冬亮)

实用标准文档大全目录第一章 Oracle 11g 介绍 (2)第二章 ORACLE 11g 的体系结构 (4)第三章 ORACLE 11g 的数据库管理 (8)第四章 ORACLE 11g 的表空间管理 (10)第五章 ORACLE 11g 的表管理 (13)第六章 ORACLE 11g 的数据查询 (18)第七章 ORACLE 数据的基本操作 (23)第八章索引 (28)第九章视图 (33)第十章 PL/SQL基础 (37)第十一章存储过程与函数 (43)第十二章触发器 (48)第十三章游标 (51)第十四章安全管理 (54)第十五章数据库备份与恢复 (57)第一章 Oracle 11g 介绍一、选择题1.在数据库系统中,将满足以下两个条件的基本层次联系集合称为层次模型:( B )。

①有一个结点无双亲②其它结点无双亲③有且仅有一个结点无双亲④其它结点有且仅有一个双亲⑤允许其它结点有多个双亲A.①和② B.③和④C.③和⑤ D.②和⑤2.下列有关数据库的描述,正确的是( C )A.数据库是一个DBF文件B.数据库是一个关系C.数据库是一个结构化的数据集合D.数据库是一组文件3.根据关系数据基于的数据模型——关系模型的特征判断下列正确的一项:( B )A.只存在一对多的实体关系,以图形方式来表示。

B.以二维表格结构来保存数据,在关系表中不允许有重复行存在。

C.能体现一对多、多对多的关系,但不能体现一对一的关系。

D.关系模型数据库是数据库发展的最初阶段。

4.Oracle 11g 是基于( A )的A.关系型B.文件系统C.层次型D.网络型5. 用二维表结构表达实体集的模型是( D )A.概念模型 B.层次模型C.网状模型 D.关系模型6.下列四项中说法不正确的是( C )A.数据库减少了数据冗余B.数据库中的数据可以共享C.数据库避免了一切数据的重复D.数据库具有较高的数据独立性7.下列四项中,不属于关系数据库特点的是( D )A.数据冗余小B.数据独立性高C.数据共享性好D.多用户访问下面系统中不属于关系数据库管理系统的是( C )A. OracleB. MS SQL ServerC. IMSD. DB29. MS SQL Server是( D )A. 数据库B. 数据库系统C. 数据处理系统D. 数据库管理系统二、填空题1.在数据库系统中管理数据的软件称为___数据库管理系统________。

史上最全Oracle数据库基本操作练习题(含答案)

史上最全Oracle数据库基本操作练习题(含答案)

Oracl‎e基本操作‎练习题使用表:员工表(emp):(empno‎N UMBE‎R(4)notnu‎l l,--员工编号,表示唯一ename‎V ARCH‎A R2(10),--员工姓名job VARCH‎A R2(9),--员工工作职‎位mgrNU‎M BER(4),--员工上级领‎导编号hired‎a teDA‎T E,--员工入职日‎期salNU‎M BER(7,2),--员工薪水commN‎U MBER‎(7,2),--员工奖金deptn‎o NUMB‎E R(2)—员工部门编‎号)部门表(dept):(deptn‎o NUMB‎E R(2)notnu‎l l,--部门编号dname‎V ARCH‎A R2(14),--部门名称locVA‎R CHAR‎2(13)—部门地址)说明:增删改较简‎单,这些练习都‎是针对数据‎查询,查询主要用‎到函数、运算符、模糊查询、排序、分组、多变关联、子查询、分页查询等‎。

建表脚本.txt建表脚本(根据需要使‎用):练习题:1.找出奖金高‎于薪水60‎%的员工信息‎。

SELEC‎T * FROM emp WHERE‎comm>sal*0.6;2.找出部门1‎0中所有经‎理(MANAG‎E R)和部门20‎中所有办事‎员(CLERK ‎)的详细资料‎。

SELEC‎T* FROM emp WHERE‎(JOB='MANAG‎E R' AND DEPTN‎O=10) OR (JOB='CLERK‎' AND DEPTN‎O=20);3.统计各部门‎的薪水总和‎。

SELEC‎T deptn‎o,SUM(sal) FROM emp GROUP‎BY deptn‎o;4.找出部门1‎0中所有理‎(M ANAG‎E R),部门20中‎所有办事员‎(C LERK 以及既不是‎经理又不是‎办事员但其‎薪水大于或‎等2000‎的所有员工‎的‎)详细资料‎。

oracle练习题及答案

oracle练习题及答案

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

oracle试题及答案

oracle试题及答案Oracle是一款广泛应用于企业和组织的关系型数据库管理系统。

它拥有强大的功能和灵活的架构,广受企业和数据库开发人员的青睐。

本文为大家整理了一些Oracle试题及答案,旨在帮助大家提升对Oracle数据库的理解和应用能力。

1. 试题:请简单解释什么是Oracle数据库。

答案:Oracle数据库是一种关系型数据库管理系统,由Oracle公司开发,用于存储和管理大量结构化数据。

它提供了数据存储、查询、事务处理、数据分析等功能,是目前业界最流行的企业级数据库之一。

2. 试题:Oracle数据库的特点有哪些?答案:Oracle数据库具有以下特点:a) 可靠性:通过事务处理和闪回技术确保数据的完整性和恢复性;b) 高性能:采用先进的查询优化和索引技术,提供快速的数据读写能力;c) 可扩展性:支持分布式和并行处理,适应不断增长的数据需求;d) 安全性:提供严格的访问控制和数据加密机制,确保数据的安全性;e) 灵活性:支持多种数据类型和数据模型,满足不同应用需求。

3. 试题:请解释Oracle数据库的体系结构。

答案:Oracle数据库的体系结构主要由实例和数据库两个关键组件构成。

a) 实例(Instance):实例是Oracle进程和内存结构的集合,负责连接管理、内存管理、故障恢复等。

每个运行的Oracle数据库都有一个相应的实例。

b) 数据库(Database):数据库是物理存储数据的容器,包含表空间、表、索引等逻辑和物理结构。

一个Oracle实例可以管理多个数据库。

4. 试题:如何创建一个Oracle数据库?答案:创建Oracle数据库的步骤如下:a) 安装Oracle数据库软件;b) 创建一个数据库实例;c) 设计数据库逻辑结构,包括表空间、表、索引等;d) 分配适当的存储空间;e) 配置数据库参数;f) 启动数据库实例,创建数据库。

5. 试题:如何在Oracle数据库中执行查询操作?答案:在Oracle数据库中执行查询操作通常使用SQL语句,如SELECT语句。

oracle基础知识考试题-答案资料讲解

oracle基础知识考试题-答案资料讲解

精品文档Oracle基础知识考试题——孙云涛部门:姓名:成绩:一.问答题(33个,每题3分,最后一题4分,共100分):1.Oracle安裝完成后的初始口令?internal/oraclesys/change_on_installsystem/managerscott/tigersysman/oem_temp2.怎么获取有哪些用户在使用数据库select username from v$session;3.数据表中一个表允许的字段最大数是多少?in()操作时集合里最多允许有多少个元素?1000都是4.如何在字符串里加回车?select 'Welcome to visit'||chr(10)||'' from dual ;5.怎样修改oracel数据库的默认日期?alter session set nls_date_format='yyyymmddhh24miss';6.请问如何修改一张表的主键?alter table aaadrop constraint aaa_key ;精品文档.精品文档alter table aaaadd constraint aaa_key primary key(a1,b1) ;7.如何解决死锁问题:第一步:select ername,t2.sid,t2.serial#,t2.logon_time,t3.sql_textfrom v$locked_object t1,v$session t2,v$sqltext t3where t1.session_id=t2.sidand t2.sql_address=t3.addressorder by t2.logon_time第二步:alter system kill session 'sid,serial#';8.oarcle 数据库的连接字符是什么?||9.查询结果集做和和做差的函数分别是什么?Union 和 minus10.返回参数为星期几的sql语句写法:SELECT TO_CHAR(SYSDATE,'D') FROM DUAL;11.如何删除一个表的重复纪录DELETE FROM TABLE_NAMEWHERE ROWID!=(SELECT MAX(ROWID) FROM TABLE_NAME DWHERE TABLE_NAME.COL1=D.COL1 AND TABLE_NAME.COL2=D.COL2);12.列出你所了解oracle的字符函数,个数不限lower upper initcap concat substr instrlpad rpad trim length13.列出你所了解oracle的日期函数,个数不限add_months months_between精品文档.精品文档round truncnext_day last_day14.列出你所了解oracle的数值函数,个数不限round trunc mod15.列出你所了解oracle的组函数,个数不限avg min max sum count16.怎样得到一个字符串中字母a的个数?写出一个方法即可:Select length( ‘abcabcabc')-length(replace(‘abcabcabc','a','') from dual17.唯一索引和主键的区别是什么?主键不可以为null,唯一索引可以。

oracle练习题及答案

oracle练习题及答案

oracle练习题及答案Oracle练习题及答案Oracle数据库是全球最受欢迎的关系型数据库管理系统之一,广泛应用于企业级应用程序开发和数据管理。

为了提高对Oracle数据库的理解和应用能力,下面将提供一些常见的Oracle练习题及其答案。

1. 查询表中的所有数据答案:使用SELECT语句可以查询表中的所有数据,例如:SELECT * FROM 表名;2. 查询表中的特定列数据答案:使用SELECT语句并指定需要查询的列名,例如:SELECT 列名1, 列名2 FROM 表名;3. 查询表中满足特定条件的数据答案:使用SELECT语句并使用WHERE子句来指定条件,例如:SELECT * FROM 表名 WHERE 列名 = 值;4. 对查询结果进行排序答案:使用SELECT语句并使用ORDER BY子句来指定排序的列和排序方式,例如:SELECT * FROM 表名 ORDER BY 列名 ASC/DESC;5. 对查询结果进行分组答案:使用SELECT语句并使用GROUP BY子句来指定分组的列,例如:SELECT 列名1, 列名2 FROM 表名 GROUP BY 列名1;6. 查询表中的唯一数据答案:使用SELECT DISTINCT语句可以查询表中的唯一数据,例如:SELECT DISTINCT 列名 FROM 表名;7. 查询表中的前N条数据答案:使用SELECT语句并使用ROWNUM关键字来限制查询结果的行数,例如:SELECT * FROM 表名 WHERE ROWNUM <= N;8. 使用聚合函数进行数据统计答案:使用聚合函数如SUM、AVG、COUNT等可以对数据进行统计,例如:SELECT COUNT(*) FROM 表名;9. 进行多表查询答案:使用SELECT语句并使用JOIN关键字来连接多个表,例如:SELECT * FROM 表名1 JOIN 表名2 ON 表名1.列名 = 表名2.列名;10. 更新表中的数据答案:使用UPDATE语句可以更新表中的数据,例如:UPDATE 表名 SET 列名 = 值 WHERE 条件;11. 删除表中的数据答案:使用DELETE语句可以删除表中的数据,例如:DELETE FROM 表名 WHERE 条件;12. 创建新表答案:使用CREATE TABLE语句可以创建新表,例如:CREATE TABLE 表名 (列名1 数据类型, 列名2 数据类型, ...);13. 修改表结构答案:使用ALTER TABLE语句可以修改表的结构,例如:ALTER TABLE 表名 ADD 列名数据类型;14. 删除表答案:使用DROP TABLE语句可以删除表,例如:DROP TABLE 表名;以上是一些常见的Oracle练习题及其答案,希望能够帮助读者更好地理解和应用Oracle数据库。

oracle练习题及答案

oracle练习题及答案

oracle练习题及答案Oracle练习题及答案Oracle是一种广泛使用的关系型数据库管理系统,它具有强大的数据处理和管理能力。

对于想要提升自己的数据库技能的人来说,练习题是一个非常有效的学习方法。

通过解答一系列的练习题,可以帮助我们更好地理解Oracle的使用和原理。

下面是一些常见的Oracle练习题及其答案,供大家参考。

1. 查询一个表中所有的数据答案:可以使用SELECT语句来查询一个表中的所有数据。

例如,假设我们有一个名为"employees"的表,可以使用以下语句来查询所有的数据:SELECT * FROM employees;2. 查询一个表中特定列的数据答案:如果我们只想查询一个表中特定列的数据,可以使用SELECT语句,并在其中指定要查询的列名。

例如,如果我们只想查询"employees"表中的"first_name"和"last_name"列,可以使用以下语句:SELECT first_name, last_name FROM employees;3. 查询满足特定条件的数据答案:如果我们只想查询满足特定条件的数据,可以在SELECT语句中使用WHERE子句来指定条件。

例如,如果我们只想查询"employees"表中工资大于5000的员工,可以使用以下语句:SELECT * FROM employees WHERE salary > 5000;4. 对查询结果进行排序答案:如果我们想对查询结果进行排序,可以在SELECT语句中使用ORDER BY子句,并指定要排序的列名。

例如,如果我们想按照"employees"表中的"last_name"列进行升序排序,可以使用以下语句:SELECT * FROM employees ORDER BY last_name ASC;5. 对查询结果进行分组答案:如果我们想对查询结果进行分组,可以在SELECT语句中使用GROUP BY 子句,并指定要分组的列名。

Oracle考试题讲解

Oracle考试题讲解

Oracle考试题讲解Oracle 考试题⼀:单选题(每题1.5分,共60分)1.学⽣信息表StudentInfo如下所⽰:学号姓名所在省市0001 李辉北京0002 张明上海0003 王⼩⽟北京0004 李淑华湖南0005 赵静上海┆┆┆查询所有学⽣来⾃于哪⼏个省市使⽤的语句为()。

(选择⼀项)A) Select unique 所在省市 from StudentInfoB) Select 所在省市 from StudentInfoC) Select only 所在省市 from StudentInfoD) Select distinct 所在省市 from StudentInfo2. 公司需要管理员⼯档案,你创建了2个表:员⼯表employees和部门表departments。

以下是两表的部分内容。

employees编号姓名年龄部门编号1 王涛 25 12 张⼒ 24 13 李明 30 24 ⾼嘉 24 3Departments编号部门名称1 ⼈⼒资源部2 技术部3 销售部下列那列适合作为外键()。

(选择⼀项)A) Employees中的编号B) Employees中的部门编号C) departments中的编号D) 以上都适合3. 你使⽤以下T-SQL语句创建了⼀个视图v_emp和⼀个表students,create view v_emp as select * from emp where deptno=10;create table students(id number(5),stuname varchar2(10))请问这两个语句是:()。

(选择⼀项)A) DDL(数据定义语⾔)B) DML(数据操纵语⾔)C) DCL(数据控制语⾔)D) DQL (数据查询语⾔)4.当SQL登录帐户被授权为数据库⽤户后,要查询数据库中的表,还需要对其赋予select 权限,实现赋权的T-SQL语⾔属于()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、填空1.在多进程Oracle实例系统中,进程分为用户进程、后台进程和服务进程。

2.标准的SQL语言语句类型可以分为:数据定义语句(DDL)、数据操纵语句(DML)和数据控制语句(DCL)。

3.在需要滤除查询结果中重复的行时,必须使用关键字Distinct; 在需要返回查询结果中的所有行时,可以使用关键字ALL。

4.当进行模糊查询时,应使用关键字like和通配符问号(?)或百分号"%"。

5.Where子句可以接收From子句输出的数据,而HA VING子句则可以接收来自WHERE、FROM或GROUP BY子句的输入。

6.在SQL语句中,用于向表中插入数据的语句是Insert。

7.如果需要向表中插入一批已经存在的数据,可以在INSERT语句中使用Select 语句。

8.使用Describe命令可以显示表的结构信息。

9.使用SQL*Plus的Get命令可以将文件检索到缓冲区,并且不执行。

10.使用Save命令可以将缓冲区中的SQL命令保存到一个文件中,并且可以使用Run命令运行该文件。

11.一个模式只能够被一个数据库对象所拥有,其创建的所有模式对象都保存在自己的模式中。

12.根据约束的作用域,约束可以分为表级约束和列级约束两种。

列级约束是字段定义的一部分,只能够应用在一个列上;而表级约束的定义独立于列的定义,它可以应用于一个表中的多个列。

13.填写下面的语句,使其可以为Class表的ID列添加一个名为PK_CLASS_ID 的主键约束。

ALTER TABLE ClassAdd ____________ PK_LASS_ID (Constraint)PRIMARY KEY ________ (ID)14. 每个Oracle 10g数据库在创建后都有4个默认的数据库用户:system、sys、sysman和DBcnmp15. Oracle提供了两种类型的权限:系统权限和对象权限。

系统权限提供了在Oracle数据库系统范围内执行某种任务的操作能力,而对象权限则是一种赋予用户在指定的数据库对象(如表、视图、过程等)16. Oralce数据库在进行物理备份有联机备份和脱机备份两种方式可供选择。

.17. 从存储结构的角度来说,Oracle数据库可分为物理结构和逻辑结构。

18. 表空间是Oracle数据库中数据的逻辑组织,每个数据库至少有一个SYSTEM 系统表空间。

19.视图是一个表示表的数据的数据库对象,它允许用户从一个表或一组表中通过一定的查询语句建立一个“虚表”。

20.序列是一种可被多个用户使用的用于产生一系列唯一数字的数据库对象。

尤其适合多用户环境中,可以生成唯一的序列号而没有磁盘I/O或事务处理锁定开销。

21. 一个表空间具有离线(OFFLINE)、在线(ONLINE)、只读(READ ONLY)、读写(READ WRITE)状态。

二、选择1.在全局存储区SGA中,哪部分内存区域是循环使用的?( B )A.数据缓冲区B.日志缓冲区C.共享池D.大池2.如果一个服务器进程非正常终止,Oracle系统将使用下列哪一个进程来释放它所占用的资源?( D )A.DBWR B.LGWR C.SMON D.PMON3. 如果要查询数据库中所有表的信息,应当使用下列哪种数据字典视图?( A )A. DBA视图B. ALL视图C. USER视图D. 动态性能视图4. 下列哪一项是Oracle数据库中最小的存储分配单元? ( C )A. 表空间B. 段C. 盘区D. 数据块5. 下面的各选项中哪一个正确描述了Oracle数据库的逻辑存储结构? ( A )A. 表空间由段组成,段由盘区组成,盘区由数据块组成B. 段由表空间组成,表空间由盘区组成,盘区由数据块组成C. 盘区由数据块组成,数据块由段组成,段由表空间组成D. 数据块由段组成,段由盘区组成,盘区由表空间组成6. 下列的哪个子句在SELECT语句中用于排序结果集?( D )A. Having子句B. Where子句C. From子句D. Order by子句7. Having子句的作用是( B )。

a. 查询结果的分组条件B. 组的筛选条件C. 限定返回的行的判断条件D. 对结果集进行排序8. 下列哪个函数可以把一个列中的所有值相加求和? ( B )A MAX B. SUM C. COUNT D. A VG9. 下列哪个子句是SELECT语句中必选项?( A )A. FROMB.WHEREC.HA VINGD. ORDER BY10. 下列哪个子句实现对一个结果集进行分组和汇总?(D )A.HA VING B. ORDER BY C. WHERE D. GROUP BY11. 查询一个表的总记录数,可以采用_________统计函数。

(C )A. A VG(*)B. SUM(*)C. COUNT(*)D.MAX(*)12. 要建立一个语句向Types表中插入数据,这个表只有两列,T_ID和T_Name 列。

如果要插入一行数据,这一行的T_ID值是100,T_Name值是RFUIT。

应该使用的SQL语句是_____。

( A )A. INSERT INTO Type Values(100, ‘FRUIT’)B. SELECT * FROM Type WHERE T_ID=100 AND T_NAME=’FRUIT’C. UPDATE SET T_ID=100 FROM Types WHERE T_Name=’FRUIT’D. DELET * FROM Types WHERE T_ID=100 AND T_Name=’FRUIT’13. 用_____语句修改表的一行或多行数据。

( A )A.Update B.set C.Select D.Where14. 使用什么命令可以清除表中所有的内容?( D )A.INSERT B.UPDATE C. DELETE D.TRUNCATE15.关于模式的描述下列哪一项不正确?( C )A.表或索引等模式对象一定属于某一个模式B.在Oracle数据库中,模式与数据库用户是一一对应的C.一个表可以属于多个模式D.一个模式可以拥有多个表16.唯一约束与主键约束的一个区别是?(D )A.唯一约束的列的值不可以有重复值B.唯一约束的列的值可以不是唯一的C.唯一约束的列不可以为空值D.唯一约束的列可以为空值17. 只能存储一个值的变量是哪种变量?( B )A. 游标B. 标量变量C. 游标变量D. 记录变量18. 声明%TPYE类型的变量时,服务器将会做什么操作?( A )A. 为该变量检索数据库列的数据类型B.复制一个变量C.检索数据库中的数据D.为该变量检索列的数据类型和值19.下列哪一项可以正确地引用该记录变量中的一个值?(B )A.rec_abc(1) B. rec_abc(1).colC. rec_abc.colD.rec_abc.first()20. 在定义游标时使用的FOR UPDATE子句的作用是______。

( C )A.执行游标 B. 执行SQL语句的UPDATE语句C.对要更新表的列进行加锁 D. 都不对21. 如果允许用户对视图进行更新和插入操作,但是又要防止用户将不符合视图约束条件的记录添加到视图,应当在定义视图时指定下列哪一个子句?( C )A.WITH GRANT OPTIONB. WITH READ ONLYC. WITH CHECK OPTIOND. WITH CHECK ONLY22. 如果想查看视图中哪些字段是可以更新的,应当查询哪一个数据字典视图?(D )A. DBA_VIEWSB. DBA_OBJECTSC. DBA_CLU_COLUMNSD. DBA_UPDATABLE_COLUMNS23. 在下列各选项中,关于序列的描述哪一项是不正确的?(D )A. 序列是Oracle提供的用于产生一系列唯一数字的数据库对象B.序列并不占用实际的存储空间C.使用序列时,需要用到序列的两个伪列NEXTV AL与CURRVAL。

其中,NEXTV AL 将返回序列生成的下一个值,而CURRV AL返回序列的当前值D.在任何时候都可以使用序列的伪列CURRV AL,以返回当前序列值24. 在下列各选项中,关于同义词的描述哪一项是不正确的?( B )A.同义词是数据库对象的一个替代名,在使用同义词时,Oracle会将其翻译为对应的对象名称B.在创建同义词时,所替代的模式对象必须存在C.Oracle中的同义词分为公有同义词和私有同义词D.公有同义词在数据库中所有的用户都可以使用;私有同义词由创建它的用户所拥有25. 下列哪个锁模式不属于Oracle?( D )A. 共享锁B.排他锁C. 行级共享锁D. 死锁26. 想在另一个模式中创建表,用户最少应该具有什么系统权限?( B )A.CREATE TABLE B. CREATE ANY TABLE C. RESOURCE D. DBA 27. 如果要启用所有角色,则应该使用哪一个命令?( B )A.SET ROLE ALL B. SET ROLE ENABLE ALLC. ALTER SESSION ALLD.ALTER USER ROLE ALL28. 下列哪一个操作可以用来为一个备份操作手动分配通道?(A )A.ALLOCATE CHANNEL B. CREATE CHANNEL C. CHANNEL ALLOCATED. CREATE LINK29. 下列哪一个命令用来显示RMAN通道的配置信息?(C )A. LISTB. DISPLAYC.SHOWD.都可以30. 下列哪一个命令可以用来执行不完全恢复?( B )A. RESTORE DATABASE UNTILB. RECOVER DATABASE UNTILC. RECOVER DATA UNTILD. RESTORE DATA UNTIL三、简答题1.说明数据库模式与用户之间的区别。

答案:数据库模式与用户之间的区别在于:用户是数据库的使用者和管理者,用户具有帐户状态、访问权限和操作权限等属性。

模式是一系列逻辑数据结构或对象的集合,是数据库中对象的组织和管理单位。

2.简要游标的作用和游标操作的基本步骤。

答案:游标的作用是将数据库的中数据检索出来后缓存,可以被PL/SQL程序一行一行的读取并处理。

支持一条、多条、零条记录的处理。

游标的基本操作步骤为:(1)声明游标,使用查询来定义游标的列和行(2)打开游标,使用PL/SQL命令OPEN来打开一个声明的游标(3)提取数据,从游标中重复提取每条记录到数据结构中,直到数据集合被提交(4)关闭游标,使用完游标后将其关闭3.Oracle数据库的工作模式有哪两种?它们之间有有何区别?答案:在Oracle数据库中,数据库的操作模式分为专用服务器(DELICATED SERVER)模式和多线程服务器(MULTITHREADED SERVER)模式两种。

相关文档
最新文档