oracle练习题--有答案

合集下载

Oracle 考试试题(带答案)

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

史上最全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-100道选择题(附答案)

Oracle-100道选择题(附答案)

1.下列不属于ORACLE的逻辑结构的是(C)A.区B.段C.数据文件D.表空间2. 下面哪个用户不是ORACLE缺省安装后就存在的用户(A)A . SYSDBAB. SYSTEMC. SCOTTD. SYS3.下面哪个操作会导致用户连接到ORACLE数据库,但不能创建表(A)A.授予了CONNECT的角色,但没有授予RESOURCE的角色B.没有授予用户系统管理员的角色C.数据库实例没有启动D.数据库监听没有启动4.函数通常用来计算累计排名,移动平均数和报表聚合。

(B)A . 汇总B. 分析C 分组D 单行5.带有(B)字句的SELECT语句可以在表的一行或多行放置排他锁。

A . FOR INSERTB. FOR UPDATEC. FOR DELETED. FOR REFRESH6.在Oracle中,你以SYSDBA登录,CUSTOMER表位于Mary用户方案中,下面哪条语句为数据库中的所有用户创建CUSTOMER表的同义词(B)。

CREATE PUBLIC SYNONYM cust ON mary.customer;CREATE PUBLIC SYNONYM cust FOR mary.customer;CREATE SYNONYM cust ON mary.customer FOR PUBLIC;不能创建CUSTOMER的公用同义词。

7. 在Oracle中,当FETCH语句从游标获得数据时,下面叙述正确的是(C)。

A.游标打开B.游标关闭C.当前记录的数据加载到变量中D.创建变量保存当前记录的数据8. 在Oracle中,下面关于函数描述正确的是(AD)。

A.SYSDATE函数返回Oracle服务器的日期和时间B.ROUND数字函数按四舍五入原则返回指定十进制数最靠近的整数C.ADD_MONTHS日期函数返回指定两个月份天数的和D.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;INSERT INTO employee(salary,last_name,first_name) VALUES(32000,’Chung’,'Mike’);ROLLBACK TO SAVEPOINT save_b;COMMIT;END;运行上面的程序,哪两个更改永久保存到数据库(CD)。

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笔试题目带答案

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数据库的试题及答案

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

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

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数据库中的一种虚拟表,它是基于一个或多个表的查询结果。

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

练习题:
1.写出以下各个关键字在书写查询语句中的顺序
A. SELECT
B. HAVING .
C.WHERE D FROM E.GROUP BY F.ORDER BY
答案:D,C,E,B,A,F
1.From,选择要操作的表或者视图,在最开始寻找数据源;
2.Where,查找条件;
3.Group by,条件中要求将相同的合并在一起;
4.Having,设置条件函数;
5.Select,选择数据库中的数据;
6.Order by,讲选择好的数据按照某个属性排序。

2.动态性能视图的拥有者是哪一个数据库用户
A.SYSTEM
B. INTERNAL
C.SYS
答案:C
3. ANY和ALL的区别是什么?(两点)
答:>any 表示返回的至少一个大于限制条件。

>All 表示返回的值都小于限制条件。

Eg:a>All(select * ),a大于任何返回的数值。

4.UNIQUE 和PRIMARY KEY的区别是什么?
答:unique 一个表可以有多个unique约束。

primary key是主键,每个表只能有一个主键primary key约束
5.日期格式MM与mm的区别是什么?
6.在WHERE条件中TRUE AND NULL的结果是什么?FALSE AND NULL的结果是什么?TRUE OR NULL和FALSE OR NULL的结果
7.写出标准SQL语言的9个动词
答:数据操作:插入insert 更新update 删除delete 数据定义:创建create commit 确认rollback
数据控制:授权grant 回收权限revoke
8.写出在WHERE语句里面AND,OR,NOT操作符的优先级顺序
9.子查询不可以用在查询语句的哪一个部分
A. SELECT
B.FROM
C.WHERE
D.GROUP BY
E.ORDER BY
F.都可

SQL练习(以下练习请使用216服务器的scott用户,密码是tiger):练习1,查询职工的人数,工资总额,
分成总额,平均工资和平均分成
答:
select * from bonus;
desc emp;
select * from emp;
INSERT INTO EMP VALUES
(1111,'MILLER','CLERK',7782,to_date('23-1-1982','dd-mm-yyyy'),1 300,NULL,10);
select count(*) as worksnumber from EMP;
select sum(SAL) as totalsalary from EMP;
select sum(COMM) as totalshare from EMP;
select avg(SAL) as avargesalary from EMP;
select avg(COMM) as avargeshare from EMP;
练习2,查询不同年度参加工作的职工各有多少人,平均工资是多少?答:
SELECT COUNT (HIREDATE) AS RENSHU80,A VG (SAL) AS A V ARAGESAL FROM EMP WHERE HIREDATE BETWEEN TO_DATE('01-01-1980','DD-MM-YYYY') AND TO_DATE('31-12-1980','DD-MM-YYYY');
SELECT COUNT (HIREDATE) AS RENSHU81,A VG (SAL) AS A V ARAGESAL FROM EMP WHERE HIREDATE BETWEEN TO_DATE('01-01-1981','DD-MM-YYYY') AND TO_DATE('31-12-1981','DD-MM-YYYY');
SELECT COUNT (HIREDATE) AS RENSHU82,A VG (SAL) AS A V ARAGESAL FROM EMP WHERE HIREDATE BETWEEN TO_DATE('01-01-1982','DD-MM-YYYY') AND TO_DATE('31-12-1982','DD-MM-YYYY');
SELECT COUNT (HIREDATE) AS RENSHU83,A VG (SAL) AS A V ARAGESAL FROM EMP WHERE HIREDATE BETWEEN TO_DATE('01-01-1983','DD-MM-YYYY') AND TO_DATE('31-12-1983','DD-MM-YYYY');
SELECT COUNT (HIREDATE) AS RENSHU84,A VG (SAL) AS A V ARAGESAL FROM EMP WHERE HIREDATE BETWEEN TO_DATE('01-01-1984','DD-MM-YYYY') AND TO_DATE('31-12-1984','DD-MM-YYYY');
SELECT COUNT (HIREDATE) AS RENSHU85,A VG (SAL) AS A V ARAGESAL FROM EMP WHERE HIREDATE BETWEEN TO_DATE('01-01-1985','DD-MM-YYYY') AND TO_DATE('31-12-1985','DD-MM-YYYY');
SELECT COUNT (HIREDATE) AS RENSHU86,A VG (SAL) AS A V ARAGESAL FROM EMP WHERE HIREDATE BETWEEN TO_DATE('01-01-1986','DD-MM-YYYY') AND TO_DATE('31-12-1986','DD-MM-YYYY');
SELECT COUNT (HIREDATE) AS RENSHU87,A VG (SAL) AS A V ARAGESAL FROM EMP WHERE HIREDATE BETWEEN TO_DATE('01-01-1987','DD-MM-YYYY') AND TO_DATE('31-12-1987','DD-MM-YYYY');
练习3,查询哪些部门的CLERK,平均工资超过1000。

答:
SELECT A VG(SAL) AS A VG1 FROM EMP WHERE JOB='CLERK' AND DEPTNO=10;
SELECT A VG(SAL) AS A VG2 FROM EMP WHERE JOB='CLERK'
AND DEPTNO=20;
SELECT A VG(SAL) AS A VG3 FROM EMP WHERE JOB='CLERK' AND DEPTNO=30;
练习4,查询哪些职工在NEW YORK或DALLAS工作。

答:
SELECT ENAME FROM EMP WHERE DEPTNO=(
SELECT DEPTNO FROM DEPT WHERE LOC='NEW YORK');
练习5,查询216服务器的linkman和linkman1两表,关联条件为姓名
1)如果两表中有的联系人显示全部字段
答:
select * from linkman a,linkman1 b where =;
2)如果linkman1表中没有的联系人,则只显示linkman中的内容答:
select * from linkman a,linkman1 b where =(+);
练习6,查询谁的名字中既含有字符A,又含有字符R。

答:
SELECT ENAME FROM EMP WHERE ENAME LIKE '%A%' AND ENAME LIKE '%R%';
练习7,查询谁的名字的倒数第二个字符是E。

答:
SELECT ENAME FROM EMP WHERE ENAME LIKE '%E_';
练习8,查询每个职工工作至今,累计多少年?
PL/SQL练习:
练习1,试着编写一个带名块。

在屏幕上打印出“WELCOME TO NEUSOFT”;要求有声明部分。

答:不太懂,正在研究中。

练习2,在PL/SQL中声明一个游标取出入职日期在2002年之前员工的名字,然后在屏幕上打印出来。

用WHILE循环。

相关文档
最新文档