oracle练习题

合集下载

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

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

史上最全Oracle数据库基本操作练习题(含答案)oracle基本操作练习题使用表格:员工表(emp):部:(deptnonumber(2)notnull,--部门编号dnamevarchar2(14),--部门名称locvarchar2(13)―部门地址)注:添加、删除和修改相对简单。

这些练习旨在进行数据查询。

查询主要使用函数、运算符、模糊查询、排序、分组、变量关联、子查询、分页查询等。

建表脚本(根据需要使用):创建表脚本1练习:2.找出部门10中所有经理(manager)和部门20中所有办事员(clerk)的详细资料。

从empwhere(job='manager'和deptno=10)或(job='clerk'和deptno=20)中选择*;3.统计各部门的薪水总和。

按deptno从empgroup中选择deptno,sum(sal);4.找出部门10中所有理(manager),部门20中所有办事员(clerk)以及既不是经理又不是办事员但其薪水大于或等2000的所有员工的详细资料。

从empwhere(job='manager'和deptno=10)或(job='clerk'和deptno=20)或(jobnotin('manager','clerk')和sal>2000)中选择*;5.列出各种工作的最低工资。

从empgroupbyjob中选择job,min(sal);26.列出每个部门经理的最低工资。

selectdeptno,min(sal)fromempwherejob='manager'groupbydeptno;7.了解领取奖金的员工的不同工作。

9.找出各月最后一天受雇的所有员工。

选择*fromempwherehiredate=最后一天(hiredate);10.显示所有员工的姓名,首字母大写。

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数据库试题一、选择题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练习题及答案

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题(附答案)

Oracle数据库试题100题(附答案)

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期末考试卷

oracle期末考试卷

oracle期末考试卷Oracle期末考试卷一、选择题(每题2分,共20分)1. Oracle数据库的默认端口号是什么?A. 1521B. 3306C. 1433D. 54322. 在Oracle数据库中,以下哪个命令用于查看当前数据库的所有用户?A. SELECT USER FROM DUAL;B. SELECT DISTINCT USERNAME FROM DBA_USERS;C. SELECT * FROM ALL_USERS;D. SELECT * FROM USER_USERS;3. 以下哪个不是Oracle数据库的体系结构组件?A. 数据库B. 实例C. 表空间D. 索引4. Oracle数据库的哪个组件负责管理数据的存储和检索?A. SQLB. PL/SQLC. RDBMSD. DBMS5. 在Oracle数据库中,以下哪个命令用于创建一个新的表?A. CREATE TABLE;B. CREATE DATABASE;C. CREATE INDEX;D. CREATE VIEW;6. Oracle数据库中,哪个命令用于删除一个表?A. DROP TABLE;B. REMOVE TABLE;C. DELETE TABLE;D. ERASE TABLE;7. Oracle数据库中,哪个命令用于查看表的结构?A. DESCRIBE table_name;B. EXPLAIN table_name;C. SHOW table_name;D. SELECT table_name;8. 在Oracle数据库中,以下哪个命令用于添加新的列到一个已存在的表?A. ADD COLUMN column_name column_type;B. INSERT COLUMN column_name column_type;C. CREATE COLUMN column_name column_type;D. APPEND COLUMN column_name column_type;9. Oracle数据库中,哪个命令用于更新表中的记录?A. UPDATE table_name SET column_name = new_value WHERE condition;B. MODIFY table_name SET column_name = new_value WHERE condition;C. CHANGE table_name SET column_name = new_value WHERE condition;D. ALTER table_name SET column_name = new_value WHERE condition;10. 在Oracle数据库中,以下哪个命令用于删除表中的记录?A. ERASE FROM table_name WHERE condition;B. REMOVE FROM table_name WHERE condition;C. DELETE FROM table_name WHERE condition;D. DROP FROM table_name WHERE condition;二、简答题(每题5分,共30分)1. 简述Oracle数据库的体系结构。

Oracle题库

Oracle题库

Oracle题库⼀、选择题1、对于Oracle数据库软件的应⽤,主要分为哪两⼤块(AB )。

〖2个答案〗A.开发B.管理C.安装D.调试2、以下哪项不是Oracle数据库物理组件的类型(D)。

〖1个答案〗A. 数据⽂件B. 控制⽂件C. ⽇志⽂件D. 表空间3、以下哪项不是Oracle数据库的逻辑组件的类型(D)。

〖1个答案〗A. 表空间B. 段C. 扩展区D. ⽇志⽂件4、关于数据控制语⾔中,收回所授予的权限的语句是(B)。

〖1个答案〗A. CreateB. RevokeC. GrantD. Update5、Oracle数据库中,取余数的运算符是(B)。

〖1个答案〗A. %B. modC. /D. ||6、Oracle数据库中,连接字符串的运算符是( D)。

〖1个答案〗A. +B. &C. isD. ||7、Oracle数据库中返回字符串长度的函数是(D)。

〖1个答案〗C. InStrD. Length8、Oracle数据库中按指定的精度进⾏四舍五⼊的函数是(C)。

〖1个答案〗A. SignB. TruncC. RoundD. Mod9、转换⽇期类型为字符串的转换函数是(C)。

〖1个答案〗A. to_dateB. to_datetimeC. to_charD. to_number10、在数据库中,对象Index表⽰(D)。

〖1个答案〗A.同义词B.表C.包D.索引11、关于通配符中的“%”,以下说法正确的两项是(BD)。

〖2个答案〗A. 代表任意⼀个字符,与Like结合使⽤B. 代表任意多个字符,与Like结合使⽤C. 代表任意⼀个字符,在Like后的表达式中只能使⽤⼀次“%”D. 代表任意多个字符,在Like后的表达式中可以使⽤多次“%”12、要统计某表中记录的总个数,以下哪项是正确的SQL语句(C)。

〖1个答案〗A. select Max(*) from 表名B. select Sum(*) from 表名C. select Count(*) from 表名D. select Min(*) from 表名13、要求表中数据的最⼤值,应使⽤什么函数(A)。

ORACLE-笔试题及答案

ORACLE-笔试题及答案

ORACLE-笔试题及答案ORACLE考题姓名一、选择题(每题1.5分)1,如何删除sales表中产品类型为toys的profits列的列值? �� (A) a) UPDATE sales SET profits = NULL WHERE product_type = 'TOYS' �� b) DELETE profits FROM sales WHERE product_type = 'TOYS'�� c) DELETE FROM sales WHEREproduct_type = 'TOYS' d) DELETE FROM sales2,在Oracle中,下面用于限制分组函数的返回值的字句是(B) a) WHRER b) HAVINGc) ORDER BYd) 无法限定分组函数的返回3,在Oracle PL/SQL中,执行动态SQL的语句是(D) a) NXECUTE b) START c) RUNd) EXECUTE IMMEDIATE4,下列表空间中��__(D)__表空间是运行一个数据库必须的一个表空间。

A)ROLLBACK B)TOOLSC)TEMPD)SYSTEM5, PL/SQL代码段中注释符号是___(C)___。

A) // B) \\\\ C) -- D) ,6,在PL/SQL代码段的异常处理块中�〔痘袼�有异常的关键词是______。

(A) A、OTHERS B、ALL C、Exception D、ERRORS7, SQL语句中修改表结构的命令是 (C) 。

A、MODIFY TABLEB、MODIFY STRUCTUREC、ALTER TABLE STRUCTURE8,在oracle中获取前10条的关键字是(D)A) top B)Limit C)first D) rownum9,下面那个不是oracle程序设计中的循环语句( A)A) for… end for B) loop…end loop C) while…end loop D、ALTER D) for…end loop10,以下哪个不是数据库的物理组件(A)。

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数据库》练习题4

《oracle数据库》练习题4

练习题41、 选择题(每题1分,共20分)1. 有数据”oracle”分别存放到char(10)和varchar2(10)类型的字段中,其实际存储长度为( )A、 10 10B、66C、 10 6D、 6 102.ORACLE数据库物理结构包括以下三种文件,以下不属于的是( )A、系统文件B、日志文件C、数据文件D、控制文件3.下面四个语句中哪一个是正确的?( )A、 SELECT * , ENAME FROM EMP;B、 DELETE * FROM EMP;C、 SELECT DISTINCT EMPNO ,HIREDATE FROM EMP;D、 SELECT ENAME|SAL AS “name” FROM EMP ;4.更改oracle用户HR,使其变为不可用(锁定)状态( )A、 UPDATE USER HR ACCOUNT DISABLE ;B、 UPDATE USER HR ACCOUNT LOCK ;C、 ALTER USER HR ACCOUNT LOCK ;D、 ALTER USER HR ACCOUNT DISABLE ;5.在Oracle中,使用下列的语句:CREATE PUBLIC SYNONYM parts FOR Scott.inventory; 完成的任务是( )。

A、 需要给出schema被除去的对象名B、 指定了新的对象权限C、 指定了新的系统权限D、给Scott.inventory对象创建一个公用同义词parts6. ORACLE中,用来判断列值是否为空的操作符是( )A、 ==NULLB、IS NULLC、 AS NULLD、 NULLIS7.在CUSTOMER中有一列为单价(PRICE),写一个SELECT命令显示所有单价在500以上的查询语句( )A、SELECT * FROM CUSTOMER WHERE PRICE MORE THAN 500;B、SELECT * FROM CUSTOMER WHERE PRICE BETWEEN 500 AND *;C、SELECT * FROM CUSTOMER WHERE PRICE LIKE '%500%';D、SELECT * FROM CUSTOMER WHERE PRICE>=500;8. 下列哪个命令是用于ORACLE中数据导出的 ( )A、expB、impC、inputD、output9.以下运算结果不为空值的是()A、12+NULLB、60*NULLC、NULL‖’NULL’D、12/(60+NULL)10.若用户要连接数据库,则该用户必须拥有的权限是()A、create tableB、create indexC、create sessionD、connect11.授予删除任何表的系统权限(DROP ANY TABLE)给user1,并使其能继续授该权限给其他用户,以下正确的SQL语句是()A、Grant drop any table to user1;B、Grant drop any table to user1 with admin option;C、Grant drop table to user1;D、Grant drop any table to user1 with check potion;12.要以自身的模式创建私有同义词,用户必须拥有( )系统权限。

oracle练习题

oracle练习题

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数据库应用》-练习题2

《Oracle数据库应用》-练习题2

《Oracle数据库应用》一、选择题(20分)1. 有一产品表(编号,名称,价格,数量,所属分类),下列语法不正确的是()A、select * from 产品表 where价格>1000B、select sum(价格) from 产品表 group by 所属分类 having max(价格)>1000C、select所属分类,sum(价格) from 产品表 where 价格>1000 group by 所属分类D、select所属分类,sum(价格) from 产品表 where max(价格)>1000 groupby 所属分类2.在建表时如果希望某列的值,在一定的范围内,应建什么样的约束?()A、primary keyB、uniqueC、checkD、not null3.你要在Oracle中定义SQL查询。

下列哪个数据库对象不能直接从select语句中引用?()A、表B、序列C、索引D、视图4. SQL *Plus中发出的下列语句:select ceil(256.342), floor(256.342), round(256.342), trunc(256.342) from dual; 下列哪个函数不返回结果256?()A、ceil()B、floor()C、round()D、trunc()5.在Oracle数据库的逻辑结构中有以下组件:A 表空间 B 数据块 C 区 D 段,这些组件从大到小依次是()。

A、表空间→数据块→区→段B、表空间→段→区→数据块C、表空间→区→数据块→段D、段→表空间→区→数据块6. 有数据”test”分别存放到char(10)和varchar2(10)类型的字段中,其实际存储长度为()A、 10 10B、 4 4C、 10 4D、 4 107.SQL语句中修改表结构的命令是()。

A、MODIFY TABLEB、MODIFY STRUCTUREC、ALTER TABLED、ALTER STRUCTURE8. DELETE FROM S WHERE 年龄>60语句的功能是______。

史上最全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练习题

Oracle 练习题一、基本概念1. Oracle 数据库是一种什么类型的数据库管理系统?2. 请简述 Oracle 数据库的主要特点。

3. Oracle 数据库中的表空间有什么作用?4. 什么是 Oracle 数据库的实例?5. Oracle 数据库中的数据字典是什么?二、SQL 基础1. 数据定义语言(DDL)1. 如何创建一个名为 `employees` 的表,包含字段`employee_id`(整数型),`employee_name`(字符串型)和`salary`(浮点型)?2. 如何修改表 `employees`,增加一个 `department_id` 字段?3. 如何删除表 `employees`?4. 如何重命名表 `employees` 为 `staff`?2. 数据操纵语言(DML)1. 向 `employees` 表插入一条新记录,`employee_id` 为 1001,`employee_name` 为 '',`salary` 为 8000。

2. 更新 `employees` 表中 `employee_id` 为 1001 的记录,将`salary` 修改为 9000。

3. 删除 `employees` 表中 `employee_id` 为 1001 的记录。

4. 如何查询 `employees` 表中 `salary` 大于 8000 的所有员工信息?3. 数据查询语言(DQL)1. 查询 `employees` 表中所有员工的信息。

2. 查询 `employees` 表中 `department_id` 为 2 的所有员工信息。

3. 查询 `employees` 表中 `salary` 最低的员工信息。

4. 查询 `employees` 表中按 `salary` 升序排列的前 5 条记录。

4. 数据控制语言(DCL)1. 如何给用户 `user1` 授予对 `employees` 表的查询权限?2. 如何撤销用户 `user1` 对 `employees` 表的查询权限?3. 如何创建一个角色 `role1`,包含对 `employees` 表的增、删、改、查权限?4. 如何将角色 `role1` 授权给用户 `user2`?三、函数与表达式1. 如何使用 Oracle 函数计算 `employees` 表中所有员工的年薪?2. 编写一个查询,返回 `employees` 表中 `employee_name` 的长度。

Oracle测试题及答案

Oracle测试题及答案

Oracle试题(数据库技术及应用)学号姓名分数(一) 按照题意写出SQL语句(45分每题3分)本题用到下面三个关系表:借书卡card(cno卡号,name姓名,class班级)图书books(bno书号,bname书名,author作者,price 单价,quantity库存册数) 借书记录borrow (cno借书卡号,bno书号,rdate还书日期)注:限定每人每种书只能借一本;库存册数随借书、还书而改变。

1.写出建立borrow表的SQL语句,要求定义主码完整性约束和引用完整性约束。

create table card(cno char(6) primary key,name varchar2(10),class varchar2(12));create table books(bno char(8) primary key,bname varchar2(50),author varchar2(10),price number(5,3),quantity number(4));create table borrow(cno char(6) references card(cno) on delete cascade,bno char(8) references books(bno) on delete cascade,rdate date,primary key(cno,bno));2.找出借书超过5本的读者,输出借书卡号及所借图书册数。

select cno,count(*) 册数from borrowgroup by cnohaving count(*)>5;3.查询借阅了“水浒”一书的读者,输出姓名及班级。

select name,classfrom cardwhere cno in (select cnofrom borrowwhere bno=(select bnofrom bookswhere bname='水浒'));4.查询过期未还图书,输出借阅者(卡号)、书号及还书日期。

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数据库的理解和应用能力,下面将提供一些常见的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习题及答案

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

1、Oracle是对象关系型数据库管理系统。

2、Oracle 9i中的i和Oracle 10g、Oracle11g中的g各代表什么意思。

i是internet的意思,g是grid网格运算3、数据库DB、数据库系统DBS、数据库管理系统DBMS三者之间的关系是___A____。

(选择1项)A)DBS包括DB和DBMS B)DBMS包括DB和DBSC)DB包括DBS和DBMS D)DBS就是DB,也就是DBMS5、完全卸载Oracle 11g时,需要进行的第一步操作是( A )。

A 停止所有的Oracle服务B 启动Oracle的卸载向导C 删除磁盘上的Oracle文件D 删除数据库Orcl6、安装Oracle数据库过程中SID指的是什么( B )。

A 系统标识号B 数据库名C 用户名D 用户口令7、Oracle网络配置分为服务器端和客户端,监听程序的配置是在_数据库服务器端_。

8、监听程序与Net服务名的关系是怎样的?Oracle中的Net工具都能用来配置监听器和网络服务名9、要开启Oracle服务器,必须开启的两个服务是( D )。

A.OracleHOME_NAMETNSListener和OracleHOME_NAMEAgentB.OracleServiceSID和OracleHOME_NAMEHTTPServerC.OracleHOME_NAMEAgent和OracleServiceSIDD.OracleHOME_NAMETNSListener和OracleServiceSIDA 数据文件B 控制文件C 日志文件D 归档日志文件5、在Oracle中,一个用户拥有的所有数据库对象统称为(A)。

A 数据库B 模式C 表空间D 实例6、在Oracle数据库的逻辑结构中有以下组件:A 表空间B 数据块C 区D 段这些组件从大到小依次是( B)A A->B->C->DB A->D->C->BC A->C->B->D D D->A->C->B7、在Windows操作系统中,Oracle的( A )服务器监听并接受来自客户端应用程序的连接请求。

A OracleHOME_NAMETNSListenerB OracleServiceSIDC OracleHOME_NAMEAgentD OracleHOME_NAMEHTTPServer8、关于模式的描述下列哪一项不正确?( C )A 表或索引等模式对象一定属于某一个模式B 在Oracle数据库中,模式与数据库用户是一一对应的C 一个表可以属于多个模式D 一个模式可以拥有多个表9、判断:Oracle数据库的表空间内存的逻辑对象为段,段由盘区组成,而盘区又由多个数据块组成。

(yes )10、判断:表空间是Oracle最大的逻辑组成部分。

Oracle数据库由一个或多个表空间组成。

一个表空间由一个或多个数据文件组成,但一个数据文件只能属于一个表空间。

( yes )11、判断:表空间分为永久表空间和临时表空间两种类型。

(yes )12、判断:Oracle数据库的逻辑存储结构主要由表空间构成。

(no )1、下面哪个用户不是Oracle缺省安装后就存在的用户( A )。

A SYSDBAB SYSTEMC SCOTTD SYS1、Oracle有哪些用户?其默认口令和权限是什么?sys:权限最高,是sysdba和sysoper,口令:chang_on_installsystem:Dba 口令:managerscott:connect权限口令:triggerinternal:伪系统用户,使用sqlplus internal1、判断:DBA角色具有全部系统权限。

( yes )2、判断:每一个数据库用户必须具有RESOURCE角色才能登录到Oracle数据库中,所以RESOURCE角色用户是权限最低的用户。

( no )1、下面哪个操作会导致用户连接到Oracle数据库,但不能创建表(A)。

A 授予了CONNECT的角色,但没有授予RESOURCE的角色B 没有授予用户系统管理员的角色C 数据库实例没有启动D 数据库监听没有启动2、授予sa用户在SCOTT.EMP表中SAL列的更新权限的语句是( B )。

A GRANT CHANGE ON SCOTT.EMP TO SAB GRANT UPDATE ON SCOTT.EMP(SAL) TO SAC GRANT UPDATE (SAL) ON SCOTT.EMP TO SAD GRANT MODIFY ON SCOTT.EMP(SAL) TO SA1、SQL缩写的含义是__Structured Query Language 结构化查询语言__。

2、SQL语言的组成包括_DDL(数据定义语言)_、_DML(数据操纵语言)_、__DCL(数据控制语言)__、__TCL(事务控制语言)_四种。

3、简述DDL、DML、DCL、TCL缩写分别代表的含义是什么,其包含的SQL语句分别有哪些?DDL(数据定义语言) :维护(定义、修改、删除)SQL模式对象.DML (数据操纵语言) :包括数据查询和数据更新(增、删、改,查).DCL (数据控制语言) :对数据的访问控制(授予权限、取消权限).TCL (事务控制语言) :对事务的控制(提交、回滚、保存点)4、常用的伪列有哪两个,他们之间的区别是怎样的?常用的伪列有ROWID和ROWNUMROWID 是表中行的存储地址,该地址可以唯一地标识数据库中的一行,可以使用ROWID 伪列快速地定位表中的一行ROWNUM 是查询返回的结果集中行的序号,可以使用它来限制查询返回的行数面试笔试题1、用来存放可变长度字符串的类型是:__VARCHAR2___。

2、关于类型定义Number(9,2)说法正确的有___B____。

A)整数部分9位,小数部分2位,共11位B)整数部分7位,小数部分2位,共9位C)整数部分6位,小数点一位,小数部分2位,共9位D)以上说法均不正确3、在PL/SQL块中定义一个名为PI值为3.14的常量的语法是___D____。

A)PI Const number=3.14; B)PI Real number =3.14;C)Constant PI number:=3.14 D)PI Constant number:=3.144、__C____是指组成表的各列的名称及数据类型,也就是日常表格的“栏目信息”。

A)表型 B)记录C)字段D)关键字1、数据定义语言,缩写为_DDL_,用于改变数据库结构,包括创建、_更改_和_删除_数据库对象。

2、用于操纵表结构的数据定义语言命令有哪些?CREATE TABLEALTER TABLETRUNCATE TABLEDROP TABLE3、Truncate与Drop的区别是什么?Truncate截断表是将表中所有记录删除,但保留表结构,并且不写日志面试笔试题1、表userInfo中有三个字段(userID、userName、userAddress),现在要删除字段 userAddress,正确的命令是__B___。

A)UPDATE userInfo DROP COLUMN userAddressB)ALTER TABLE userInfo DROP COLUMN userAddressC)ALTER userInfo DROP COLUMN userAddressD)ALTER TABLE userInfo DELETE COLUMN userAddress2、要将表userInfo从数据库中删除,所用的命令是:___DROP TABLE userInfo______。

3、SQL语言中,用来创建、修改及删除数据库对象的语言被称为:_____数据定义语言__________。

4、比较truncate、delete和drop命令。

1). 从删除内容上区分:truncate和 delete只删除数据不删除表的结构(定义)drop语句将删除表的结构、被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函数将保留,但是变为invalid状态.2).从语句类型上来区分:delete语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发.truncate,drop是ddl, 操作立即生效,原数据不放到rollback segment中,不能回滚. 操作不触发trigger.3).从对表空间的影响来区分:delete语句不影响表所占用的extent, 高水线(high watermark)保持原位置不动drop语句将表所占用的空间全部释放truncate 语句缺省情况下将空间释放到 minextents个extent,除非使用reuse storage;而且truncate会将高水线复位(回到最开始).4).从速度的区别:一般来说: drop> truncate > delete5).从安全性考虑:小心使用drop 和truncate,尤其没有备份的时候.使用上,想删除部分数据行用delete,注意带上where子句. 回滚段要足够大.想删除表,当然用drop想保留表而将所有数据删除. 如果和事务无关,用truncate即可. 如果和事务有关,或者想触发trigger,还是用delete.如果是整理表内部的碎片,可以用truncate跟上reuse stroage,再重新导入/插入数据1、根据数据完整性机制所作用的数据库对象和范围不同,数据完整性可分为__实体完整性______、__域完整性______、__参照完整性______、_自定义完整性_______四种类型。

2、对实体完整性进行约束的方法有__唯一约束_、__主键约束_。

3、对引用完整性进行约束的方法可以是_外键约束_。

4、在数据完整性当中,__域完整性_可以用检查约束、非空约束,或者默认值方法进行约束。

5、在数据完整性当中,可以用触发器进行约束的是__自定义完整性_。

6、常见的五大约束分别为_主键约束_、_外键约束_、_唯一约束_、_非空约束_、默认约束。

1、唯一约束与主键约束的一个区别是___D____?A)唯一约束的列的值不可以有重复值 B)唯一约束的列的值可以不是唯一的C)唯一约束的列不可以为空值 D)唯一约束的列可以为空值2、在关系数据库中,建立数据库表时,将年龄字段值限制在12~40岁之间的这种约束属于__B_____。

A)视图完整性约束 B)域完整性约束C)参照完整性约束D)实体完整性约束3、假设需要为表 customer 添加主键约束,主键列为 customer_id,可以使用如下___B_____方式。

相关文档
最新文档