Oracle 第15章实训题

合集下载

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) 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数据库的知识,以下是一些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数据库-综合训练项目答案

综合训练项目和练习参考答案第1章练习参考答案1.C 2.D 3.B 4.B---------------------------------------------------------------------------第2章练习参考答案1.C 2.C 3.A 4.B---------------------------------------------------------------------------第3章练习参考答案1.B 2.D 3.B 4.A 5.B6.C 7.A---------------------------------------------------------------------------第4章练习参考答案1.C 2.B 3.D 4.D 5.D6.A 7.B 8.D 9.C 10.B11.B 12.C 13.C 14.D15.C 16.C 17.D---------------------------------------------------------------------------第5章综合训练项目参考答案1.使用初始化参数文件。

1)以sysdba身份连接到数据库,关闭数据库。

CONN / AS SYSDBASHUTDOWN2)从spfile创建一个新的pfile,将pfile 存放在$Oracle_Home\database 路径下。

CREATE PFILE FROM SPFILE;在$Oracle_Home\database 路径下创建静态初始化参数文件。

3)修改pfile中的参数open_cursors=200。

用写字板修改中的参数open_cursors=200。

4)使用pfile初始化参数文件启动数据库。

STARTUP PFILE='D:\Oracle\ORA92\database\';其中路径根据具体安装确定。

Oracle基础练习题及答案(多表查询1)(共5篇)

Oracle基础练习题及答案(多表查询1)(共5篇)

Oracle基础练习题及答案(多表查询1)(共5篇)第一篇:Oracle基础练习题及答案(多表查询1)利用scott用户自带的四张表完成如下作业:1.列出至少有一个员工的所有部门select b.deptno,b.dname from emp a,dept b where a.deptno=b.deptno group by b.deptno,b.dname having count(*)>=1;2.列出薪金比SMITH高的所有员工select * from emp where sal>(select sal from emp where ename='SMITH');3.列出所有员工的姓名及其直接上级领导的姓名select a.ename,b.ename “leader” from emp a,emp b wherea.mgr=b.empno;4.列出受雇日期早于其直接上级的所有员工的编号,姓名,部门名称select a.empno,a.ename,a.hiredate,c.dname from emp a,emp b,dept c where a.mgr=b.empno and a.deptno=c.deptno anda.hiredate5.列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门select b.dname,a.* from emp a,dept b wherea.deptno(+)=b.deptno;6.列出所有CLERK(办事员)的姓名,及其部门名称,部门人数select aa.ename,aa.job,bb.dname,(select count(a.deptno)from emp a,dept b where a.deptno=b.deptno and b.dname=bb.dname group by a.deptno)from emp aa,dept bb where aa.deptno(+)=bb.deptno and aa.job='CLERK';7.列出最低薪金大于1500的各种工作及从事此工作的全部雇员人数select a.job,min(sal),count(ename)from emp a,dept b wherea.deptno=b.deptno having min(sal)>1500 group by a.job;8.列出在部门SALES(销售部)工作的员工的姓名,假定不知道销售部的部门编号。

Oracle数据库系统应用开发实用教程习题库带答案章节练习题复习题思考题章末测试题1-10章全

Oracle数据库系统应用开发实用教程习题库带答案章节练习题复习题思考题章末测试题1-10章全

习题1一、选择题1.命令行方式的管理工具是()。

A.SQL*PlusB.iSQL*PlusC.Oracle企业管理器控制台D.SQL*Plus工作表2.对Oracle数据库进行管理,可以采用的工具是()。

A.Oracle Universal InstallerB.Oracle Database Configuration AssistantC.Oracle Enterprise Management ConsoleD.Net Manager3.为了使用iSQL*Plus工具,首先要启动()服务。

A.Oracle ServiceSIDB.OracleHOME_NAMETNSListenerC.OracleDBConsoleSIDD.OracleHome_NameiSQL*PLUS4.( )服务监听并接受来自客户端应用程序的连接请求。

A.OracleHOME_NAMETNSListenerB.OracleServiceSIDC.OracleDBConsoleSIDD.OracleHome_NameiSQL*PLUS5.为了使客户应用程序可以访问Oracle Server,在客户端需要配置以下哪个文件?()A.tnsnames.oraB.sqlnet.oraC.listener.ora6.为了使客户应用程序可以访问Oracle Server,在服务器端需要配置以下哪个文件?()A.tnsnames.oraB.sqlnet.oraC.listener.ora二、简答题1.简述Oracle 10g数据库服务器的企业版、标准版、个人版之间的区别和适用环境。

2.安装Oracle 10g 时,对硬件、软件有何要求?3.监听程序有什么作用?它是数据库服务器上的程序还是管理客户机上的程序?4.Oracle有哪些查询工具?5. 如何利用isql*plus连接到Oracle?6. 创建一用户,使之连接到Oracle,并更改其密码。

oracle 练习题

oracle 练习题

oracle 练习题关键信息项:1、练习题的类型:____________________2、练习题的数量:____________________3、练习题的难度级别:____________________4、完成练习题的时间要求:____________________5、练习题的评估标准:____________________6、练习题的使用目的:____________________11 协议目的本协议旨在明确关于 oracle 练习题的相关规定和要求,以确保练习题的有效使用和达到预期的学习效果。

111 适用范围本协议适用于所有参与 oracle 练习题练习的相关人员。

12 练习题类型121 理论知识练习题涵盖 oracle 数据库的基本概念、原理、架构等方面的选择题、填空题、简答题等。

122 操作实践练习题要求进行实际的数据库操作,如创建表、插入数据、查询数据、更新数据、删除数据等。

123 故障排除练习题设定数据库出现的各种故障场景,要求参与者分析并解决问题。

13 练习题数量131 每次练习提供的题目数量应根据练习的目的和难度进行合理安排。

132 对于基础知识的练习,数量可相对较多,以加强记忆和理解。

133 对于复杂的操作和故障排除练习,数量可适当减少,以保证参与者有足够的时间思考和解决问题。

14 练习题的难度级别141 分为初级、中级和高级三个难度级别。

142 初级练习题主要针对初学者,重点考察基本概念和简单操作的掌握程度。

143 中级练习题要求对常用功能和操作有较为熟练的掌握,并能解决一些常见问题。

144 高级练习题则涉及复杂的数据库设计、优化和疑难故障的处理。

15 完成练习题的时间要求151 初级练习题的完成时间一般不超过 30 分钟。

152 中级练习题的完成时间通常在 60 分钟左右。

153 高级练习题的完成时间可设定在 90 分钟至 120 分钟之间。

16 练习题的评估标准161 准确性答案的正确性是首要评估标准,包括操作结果的正确性和理论回答的准确性。

oracle练习题(打印版)

oracle练习题(打印版)

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数据库应用与实践》课后习题参考答案

《Oracle数据库应用与实践》课后习题参考答案

活塞
1990
公牛
1991
公牛
1992
公牛
1993
火箭
1994
火箭
1995
公牛
1996
公牛
1997
公牛
1998
马刺
1999
湖人
2000
湖人
2001
湖人
2002
马刺
2003
活塞
2004
马刺
2005
热火
2006
马刺
2007
凯尔特人
2008
湖人
2009
湖人
2010
请写出一条 SQL 语句,查询出在此期间连续获得冠军的有哪些,其连续的年份的起止时间
emp ) e where e.t<=3) group by deptno
Oracle 数据库应用与实践
3、表 nba 记录了 nba(team VARCHAR2(10),y NUMBER(4))夺冠球队的名称及年份:
TEAM
Y
-------------------- ------------------------------
第 5 章 Oracle 模式对象
一、填空题
1. 字段级约束 表约束
2. NOT NULL 约束 UNIQUE 约束 PRIMARY KEY 约束

3. CREATE TABLE
CREATE ANY TABLE
4. UNIQUE PRIMARY KEY CHECK
5. 合并索引 重建索引
6. user_updatable_columns
2、某 cc 表数据如下: c1 c2 -------------1西 1安 1的 2天 2气

Oracle经典练习题(很全面)

Oracle经典练习题(很全面)

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 where deptno=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数据库基本操作练习题(含答案)

史上最全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课后题答案

一、选择题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数据库用户信息B.查找oracle数据库表中的信息C.查找oracle数据库模式对象的信息D.查找oracle数据库存储结构的信息二、填空题1、 Oracle体系结构由内存结构、进程结构和存储结构组成。

Oracle习题答案(课后题)

Oracle习题答案(课后题)

/articles/330494.html 第一章略第二章5、已知一个关系数据库的模式如下:S (SNO,SNAME,SCITY)P (PNO,PNAME,COLOR,WEIGHT)J (JNO,JNAME,JCITY)SPJ (SNO,PNO,JNO,QTY)供应商S由供应商代码SNO、供应商姓名SNAME、供应商所在城市SCITY组成;零件P由零件代码PNO、零件名PNAME、颜色COLOR 、重量WEIGHT 组成;工程项目J 由工程项目代码JNO、工程项目名JNAME、和所在城市JCITY组成;供应情况SPJ由供应商代码SNO、零件代码PNO、工程项目代码JNO、供应数量QTY 组成。

用关系代数表达式表示下面的查询要求:(1)求供应工程J1 零件的供应商代码SNO(2)求供应工程J1 零件P1 的供应上代码SNO(3)求供应工程J1 零件为红色的供应商代码SNO(4)求没有使用天津供应商生产的红色零件的工程项目代码JNO(5)求至少用了供应商S1 所供应的全部零件的工程项目代码JNO(4)JNO (J )— JNO (「CITY-天津'(S) SPJ 「COLOR-红色'(P))(5) PNO,JNO (SPJ) 71PNO e SN0='S1' (SPJ))第三章 22 .建立一个关于系、学生、班级、学会等诸信息的关系数据库。

学生:学号、姓名、出生年月、系名、班号、宿舍区。

班级:班号、专业名、系名、人数、入校年份。

系:系名、系号、系办公地点、人数。

学会:学会名、成立年份、办公地点、人数。

语义如下:一个系有若干专业,每个专业每年只招一个班, 每个班有若干学生。

一个系的学生住在同一宿舍区。

每个学生可 参加若干学会,每个学会有若干学生。

学生参加某学会有一个入 会年份。

请给出关系模式,写出每个关系模式的极小函数依赖集, 指 出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨答: (1)SNOI JI⑵SNO (3) n (\ SNO\JNO'JI' (SPJ))JNO'JI' PNO'PI' (SPJ)) JNO (JT COLORS 红色’(P SPJ)) 71 CJ论函数依赖是完全函数依赖,还是部分函数依赖。

达内JSD1510第二次月考题,oracle数据库考题,数据库基础知识语法资料

达内JSD1510第二次月考题,oracle数据库考题,数据库基础知识语法资料

达内JSD1510第二次月考题,oracle数据库考题,数据库基础知识语法资料达内JSD1510第二次月考题考试范围:oracle数据库适合初学者对数据库的基础知识进行测试。

1.(单选)查询cost表中资费名称,月固定费用,月包在线时长,单位费用,下列sql语句正确的是:A.select name/base_duration/base_cost/unit_cost from costB.select name,base_cost,unit_cost from costC.select name and base_duration and base_cost and unit_cost from costD.select name,base_duration,base_cost,unit_cost from cost正确答案:D2.(单选)包含事务控制方法setAutoCommit, commit, rollback的是:() 。

A.ConnectionB.StatementC.ResultSetD.DriverManager正确答案:A3.(单选)下面不属于接口的是:()。

A.java.sql.ConnectionB.java.sql.DriverC.java.sql.DriverManagerD.java.sql.ResultSet正确答案:C4.(单选)在oracle中,判断一条记录的某个列是否为NULL,应该使用:( )。

A.!=B.<>C.ISD.=正确答案:C5.(单选)在JDBC连接数据库编程应用开发中,可以实现数据库连接的是()。

A.Connection接口B.PreparedStatement类C.CallableStatement类D.Statement类正确答案:A6.(单选)在Oracle中,控制年龄必须在18到50之间(包含18和50),可使用的代码是()。

A.age>18 and age<50B.age>=18 and age<=50C.age>=18 && age<=50D.age>18 && age<50正确答案:B7.(单选)下列Oracle语句中,属于DCL的有()A.GRANTB.DESCC.CONNECTD.INSERT正确答案:A8.(单选)下列选项中能够得到字符串的一部分的单行函数是()。

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. 在Oracle数据库中,哪个命令用于创建数据库表?- A. CREATE TABLE- B. DROP TABLE- C. ALTER TABLE- D. TRUNCATE TABLE答案:A2. 以下哪个选项不是Oracle数据库的SQL语句?- A. SELECT- B. UPDATE- C. DELETE- D. PRINT答案:D3. Oracle数据库中,用于删除表中所有数据的命令是什么? - A. DELETE FROM table_name- B. TRUNCATE TABLE table_name- C. DROP TABLE table_name- D. CLEAR table_name答案:B4. 在Oracle数据库中,哪个命令用于查看表的结构?- A. DESCRIBE table_name- B. EXPLAIN table_name- C. DESC table_name- D. SHOW table_name答案:C5. Oracle数据库中,哪个命令用于插入数据?- A. INSERT INTO- B. ADD INTO- C. PUT INTO- D. SET INTO答案:A#### 二、简答题1. 简述Oracle数据库的体系结构。

- Oracle数据库的体系结构主要包括内存结构和存储结构。

内存结构包括系统全局区(SGA)和程序全局区(PGA)。

存储结构包括数据文件、控制文件和重做日志文件。

SGA是所有数据库进程共享的内存区域,包含了数据库缓冲区、重做日志缓冲区等。

PGA是每个服务器进程或后台进程的私有内存区域。

2. 什么是PL/SQL?它在Oracle数据库中的作用是什么?- PL/SQL是Oracle数据库的过程式扩展,它允许用户定义存储过程、函数、触发器等。

PL/SQL结合了SQL语句和过程式编程的特性,使得数据库编程更加灵活和强大。

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

史上最全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模拟习题一、选择题1、关于SQL、SQL*Plus、PL/SQL相关于Oracle数据库的说法不正确的是(D )A.SQL是用来和Oracle交互的工具B.SQL*Plus是编写SQL和PL/SQL的工具C.PL/SQL是Oracle提供的过程化语言D.SQL*PLUS中不能含有SQL语句2、ORACLE中权限最大的用户是(C)A. systemB. adminC. sysD. scott3、select ename from emp where job=’SALESMAN’ order by empno desc 的第三条结果是(D )A. ALLENB. KINGC. SMITHD. WARD4、执行语句select gongda from emp的执行结果是(D)A. 显示gongdaB. 无输出C. 显示14行工大D. 报异常5、执行语句select * from emp where job=’clerk’,得到的结果是(B)A. 输出4行结果B. 无输出C. 输出14行结果D. 报异常6、PL/SQL中自定义异常编号正确的是(B)A. -01400B. -20222C. -01158D. -14337、PL/SQL中,若一条select语句没有返回值,将引发哪个异常(B)A.NO_ROWS_FOUND B.NO_DATA_FOUNDC.NO_DATA_ROWS _FOUND D.NO_FIND8、以下代码哪一行有问题(B)1 DECLARE2 v_i NUMBER := &n ;3 BEGIN4 IF v_i % 3 = 0 THEN5 dbms_output.put_line('您输入的数字是:'||v_i||'可以被3整除');6 ELSE7 dbms_output.put_line('您输入的数字是:'||v_i||'不能被3整除');8 END IF ;9 END;A. 第2行B. 第4行C. 第6行D. 哪一行都没错9、有一段PL/SQL程序如下所示:var1 := 10;LOOPEXIT WHEN var1 > 12;var1 := var1 +1;DBMS_OUTPUT.PUT_LINE(‘A’);END LOOP;输出的结果为(C )A.无输出B.AC.AAD.AAA10、以下程序执行后的结果是( B )DECLAREstr1 VARCHAR2(4000):='abcdefg_hijklmn'; --g和h之间的下划线代表此处有一个空格 str2 VARCHAR2(4000);str3 VARCHAR2(4000);BEGINselect upper(str1) into str2 from dual;select LENGTH(str1) into str3 from dual;dbms_output.put_line(str2||', '||str3);END;A.无输出 B.ABCDEFG HIJKLMN, 15C.ABCDEFG HIJKLMN, 14 D.abcdefg hijklmn,1511、ORACLE中权限最大的用户是(C)A. systemB. adminC. sysD. scott12、oracle 11g默认的日期格式是(A)A. 25-12月-2013B. 2013-12-25C. 12-25-2013D. 25-12-201313、执行语句SELECT comm FROM EMP 的执行结果有数字显示的是( A )A. 4行B. 无输出C. 14行D. 报错14、如何获得系统当前时间(C)A.sysdate B.select sysdateC.select sysdate from dual D.以上都是15、执行语句select * from emp where job=’clerk’,得到的结果是(B)A. 输出4行结果B. 无输出C. 输出14行结果D. 报错16、emp中,deptno是该表的( B )A. 主键B. 外键C. 什么都不是D. 主键+外键17、PL/SQL中自定义异常编号正确的是(B)A. -01400B. -20123C. -01158D. -143318、PL/SQL中,若一条select语句没有返回值,将引发哪个异常(B)A.NO_ROWS_FOUND B.NO_DATA_FOUNDC.NO_DATA_ROWS _FOUND D.NO_FIND19、有一段PL/SQL程序如下所示:var1 := 10;LOOPEXIT WHEN var1 > 12;var1 := var1 +1;DBMS_OUTPUT.PUT_LINE(‘A’);END LOOP;输出的结果为(C )A.无输出B.AC.AAD.AAA20、在Oracle PL/SQL程序中,要从用户输入赋值给数字变量stuid,下面代码正确的是(C)A.stuid = ‘& stuid ’B.stuid := “& stuid ”C.stuid : = & stuidD.stuid = & stuid二、简答题1、查询出名字中第三个字母是“N”的员工信息select * from emp where ename like ‘__N%’2、查询所有员工工号、姓名、工资、所在部门名称、所在地,按工资降序排列select emp.empno,emp.ename,emp.sal,dept.dname,dept.loc from emp,deptwhere emp.deptno=dept.deptno order by emp.sal3、查询每个部门的员工数量以及该部门名称,将员工数大于4人的部门筛选出来select dname,count(*) from scott.emp,scott.deptWHERE scott.emp.deptno=scott.dept.deptnogroup by dname HAVING count(*)>44、查询出没有员工的部门信息(部门编号、名称、所在地)SELECT * FROM dept WHERE deptno NOT IN (SELECT deptno FROM emp)5、查询出工资总数最少部门的部门信息(部门编号、名称、所在地)select * FROM (select dept.deptno,dept.dname,dept.loc,sum(sal)from emp,deptWHERE emp.deptno=dept.deptnogroup bydept.deptno,dept.dname,dept.locorder by sum(sal)) where rownum<26、将所有芝加哥工作的人工资加500,奖金加100UPDATE emp SET sal=sal+500 , comm=nvl(comm,0)+100WHERE emp.deptno=(SELECT deptno FROM dept WHERE loc='CHICAGO' )7、查询所有员工工号、姓名、工资select emp.empno,emp.ename,emp.sal from emp8、查询出每个员工姓名、工资,并按工资降序排列select ename,sal from emp order by sal desc9、查询出每个员工的姓名以及部门所在地select emp.ename,dept.dname FROM emp,dept where emp.deptno=dept.deptno10、查询出工资总数最少部门的部门信息(部门编号、名称、所在地)select * FROM (select dept.deptno,dept.dname,dept.loc,sum(sal)from emp,deptWHERE emp.deptno=dept.deptnogroup bydept.deptno,dept.dname,dept.locorder by sum(sal)) where rownum<211、将所有在纽约工作的人工资加500,奖金加100UPDATE emp SET sal=sal+500 , comm=nvl(comm,0)+100WHERE emp.deptno=(SELECT deptno FROM dept WHERE loc='NEW YORK' )12、删除工资最高的两个员工信息delete from scott.emp where sal in(SELECT sal FROM (SELECT * FROM scott.emp ORDER BY sal desc) WHERE ROWNUM < 3 )三、编程题1、自定义输入任意员工编号,输出该员工编号、姓名、工资、部门名称、所在地,如果输入的编号错误,请进行异常处理。

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