oracle习题训练库
《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模拟习题一、选择题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、自定义输入任意员工编号,输出该员工编号、姓名、工资、部门名称、所在地,如果输入的编号错误,请进行异常处理。
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笔试题库附参考答案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)。
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
练习题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基本操作练习题使用表:员工表(emp):(empno NUMBER (4)notnull,--员工编号,表示唯一ename VARCHAR2 (10),--员工姓名job VARCHAR2 (9),--员工工作职位mgr NUMBER (4),--员工上级领导编号hiredate DATE,--员工入职日期salNUMBER (7,2),--员工薪水comm NUMBER (7,2),--员工奖金dept no NUMBER (2)—员工部门编号)部门表(dept):(deptno NUMBER (2)notnull,--部门编号dname VARCHAR2 (14),--部门名称locVARCHAR2 (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 dept no,SUM(sal) FROM emp GROUP BY dept no;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') ANDSAL>2000);5. 列出各种工作的最低工资。
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数据库应用》-练习题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 经典练习题一.创建一个简单的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基本操作练习题使用表:员工表(emp):(empnoN UMBER(4)notnul l,--员工编号,表示唯一enameV ARCHA R2(10),--员工姓名job VARCHA R2(9),--员工工作职位mgrNUM BER(4),--员工上级领导编号hireda teDAT E,--员工入职日期salNUM BER(7,2),--员工薪水commNU MBER(7,2),--员工奖金deptno NUMBE R(2)—员工部门编号)部门表(dept):(deptno NUMBE R(2)notnul l,--部门编号dnameV ARCHA R2(14),--部门名称locVAR CHAR2(13)—部门地址)说明:增删改较简单,这些练习都是针对数据查询,查询主要用到函数、运算符、模糊查询、排序、分组、多变关联、子查询、分页查询等。
建表脚本.txt建表脚本(根据需要使用):练习题:1.找出奖金高于薪水60%的员工信息。
SELECT * FROM emp WHEREcomm>sal*0.6;2.找出部门10中所有经理(MANAGE R)和部门20中所有办事员(CLERK )的详细资料。
SELECT* FROM emp WHERE(JOB='MANAGE R' AND DEPTNO=10) OR (JOB='CLERK' AND DEPTNO=20);3.统计各部门的薪水总和。
SELECT deptno,SUM(sal) FROM emp GROUPBY deptno;4.找出部门10中所有理(M ANAGE R),部门20中所有办事员(C LERK 以及既不是经理又不是办事员但其薪水大于或等2000的所有员工的)详细资料。
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数据库基础题库【含答案】
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、在连接操作中,如果左表和右表中不满足连接条件的数据都出现在结果中,那么这种连接是全外连接。
orcl基础练习题
orcl基础练习题Oracle Corporation(ORCL)是全球最大的企业级软件公司之一,它的产品广泛应用于数据库管理系统、云计算、商业智能等领域。
本文将为读者提供一些ORCL基础练习题,帮助其巩固相关知识和技能。
练习题一:SQL查询1. 查询所有学生的姓名、年龄和性别。
2. 查询所有成绩大于等于80分的学生的姓名和成绩。
3. 查询年龄在20岁到25岁之间的男生的姓名和年龄。
4. 查询年龄最小的学生的姓名、年龄和性别。
5. 查询每个班级的学生数量。
练习题二:表操作1. 创建一个名为“student”的表,包含字段:学号(id,整数型)、姓名(name,字符串型)、年龄(age,整数型)、性别(gender,字符串型)。
2. 向表中插入以下学生信息:(101, 'Alice', 20, 'Female'),(102,'Bob', 22, 'Male'),(103, 'Cathy', 21, 'Female'),(104, 'David', 23,'Male')。
3. 更新学号为102的学生的姓名为'John'。
4. 删除学号为104的学生。
练习题三:数据查询与操作有以下两张表:Table: Students学号(id)姓名(name)班级(class)101 Alice A1102 Bob A2103 Cathy A1104 David A3Table: Scores学号(id)课程(course)分数(score)101 Math 88102 Math 78103 Math 92101 English 90102 English 85103 English 88请根据以上表格回答以下问题:1. 查询每个学生的姓名、所在班级和总分数。
2. 查询每个学生的姓名、班级和平均分数。
史上最全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基础(习题卷8)
Oracle基础(习题卷8)第1部分:单项选择题,共63题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]下列()不是一个角色A)CONNECTB)DBAC)RESOURCED)CREATE SESSION答案:D解析:2.[单选题]在以下命令中,一个使用哪一个来激活(开启)一个角色?( )A)SET ROLLB)ALTER USERC)CREATE ROLED)ALTER SYSTEM答案:A解析:3.[单选题]当一个段需要额外的磁盘空间时,应该增加哪一种数据库的逻辑组件?( )A)区段( extents)B)表空间C)数据库块D)操作系统块答案:A解析:4.[单选题]存储数据的逻辑单位,按大小依次为()。
A)表空间、数据块、区和段B)区、表空间、数据块和段C)段、区、表空间和数据块D)表空间、段、区和数据块答案:D解析:5.[单选题]A non-correlated subquery can be defined as . (Choose the best answer.)A)A set of one or more sequential queries in which generally the result of the inner query is used as the search value in the outer query.B)A set of sequential queries, all of which must return values from the same table.C)A set of sequential queries, all of which must always return a single value.D)A SELECT statement that can be embedded in a clause of another SELECT statement only.答案:A解析:C)alter system remove user brent cascade;D)drop user brent cascade;答案:D解析:7.[单选题]系统事件触发器共支持5种系统事件,下列()事件不会激发触发器。
史上最全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.列出各种工作的最低工资。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
oracle习题训练库习题1安装和运行Oracle数据库一、填空题1.数据库管理系统采用的数据模型主要有:(网状模型)、(层次模型)和(关系模型)。
2.(交换方式)是指数据库使用者利用数据库管理系统提供的软件工具,直接对数据库进行操作,操作结果立即返回到操作界面。
3.(数据库)是存储在计算机内,按一定数据模型组织的、可共享的数据集合。
4.通常,把每一个类数据对象的个体称为(实体)。
5.对于每一个实体集,可指定一个码为(主码)。
6.Oracle是(面向对象的关系型)数据库管理系统。
7.Oracle系统主要是由(oracle database)和(Oracle Application)两大产品及Oracle管理程序包等其他产品组成的。
8.从Oracle DataBase 10g开始,通过设置初始化参数( SHAED_SERVERS )可以自动激活共享服务器特征。
9.( Oracle数据库10g企业版)是为关键任务的应用程序(如大业务的在线事务处理(OLTP)环境、查询密集的数据仓库和要求苛刻的因特网应用程序)提供了高效、可靠、安全的数据管理的Oracle DataBase 10g版本。
10.Oracle 10g提供了(Automatic Storage Management ),从而在不需要第三方面产品的情况下实现冗余性和数据分离。
二、选择题1.两个实体集A和B之间的联系不可能是以下( D )种情况。
A.1 :1 B.1 : n C.m : n D.以上答案都不对2.绘制E-R图时,当一个属性或属性组合指定为主码时,在实体集与属性的连接线上标记(D )A.矩形框B.带圆角矩形框C.线段D.斜线3.绘制E-R图时,实体用( A )表示。
A.矩形框B.带圆角矩形C.线段D.斜线4.( C )语言是过程化SQL的缩写。
A.SQLB.Tran-SOLC.PL/SQLD.以上答案都对5.( A)的目的在于为数据表提供合格的数据。
A.数据准备B.数据备份C.数据恢复D.以上答案都对6.Oracle DataBase 10g版本中不包含( C )。
A. Oracle 数据库个人版B. Oracle 数据库标准版C. Oracle 数据库开发版D. Oracle 数据库企业版7.从Oracle 10g开始,允许DBA使用ALTER TABLESPACE RENAME 命令修改表空间的名称,从而解决了早期版本表空间名不能被修改的问题。
需要注意( AB )表空间的名称不能修改。
(本题多选)A.SystemB.SysAuxC.TempD.以上答案都不对8.Oracle 10g中的“g”代表( B )。
A.网络B.网格C.节点D.站点9.Oracle是( C )数据库管理系统。
A.关系型B.面向对象C.面向对象关系型D. 以上答案都不对10.安装Oracle服务器软件,不会采用的工具是( C )。
A、Oracle Universal InstallerB、Oracle Database Configuration AssistantC、Oracle Enterprise Managerment ConsoleD、Oracle Net Confirguration Assistant11.以下被称为实例服务的是( D)。
A、OracleOra92homeTNSListenerB、OracleOra92homeHTTPServerC、OracleOra92homeAgentD、OracleServicedb0112.Oracle数据库文件默认的安装位置是(C )。
A、admin 目录下B、oradata目录下C、bin 目录下D、database 目录下13.在数据库服务器的安装过程中,不是默认创建的账户是( D )。
A、SYSB、DBAC、SYSTEMD、SCOTT14.( AB )直接影响着Oracle的速度,为此建议配置越高越好。
(本题多选)A.CPU的速度B.内存容量C.硬盘速度D. 以上答案都不对习题2管理工具和网络配置一、填空题1.( SYS )是SYSDBA特权用户和SYSOPER特权用户。
2.“System”用户是( DBA用户),其可以完成对数据库内数据对象的操作。
3.在使用浏览器运行iSQL*Plus的操作中,输入的URL地址格式为http://hostname:port/ISQLPLUS,其中的hostname指( oracle server所在主机名),port指( OEM控制工具监听器)。
4.“OracleOraDb10g_home1TNSListener”服务项是指(服务监听器)。
5.启动“OracleDBConsole”服务项的命令是( emctl start dbconsole )。
二、.选择题1.命令行方式的管理工具是(A )。
A.SQL*PlusB.Oracle 企业管理控制台C.iSQL*PlusD.SQL*Plus 工作表2.要对Oracle数据库进行管理,可以采用的工具是(C)。
A.Oracle Universal InstallerB.Oracle Database Configuration AssistantC.Oracle Enterprise Managerment ConsoleManager3.为了通过网络连接数据库,需要在客户端建立(C)。
A.监听程序进程B.实例服务C.网络连接服务台D.HTTP 服务4.保护监听程序配置信息的位置和名称是( C )。
A.客户端,listener.oraB.客户端,tnsnames,oraC.服务器端,listener.oraD.服务器端,tnsnames,ora5.DBA是指(C)A.系统管理员 B.数据库操作员 C.数据库管理员 D.以上说法都不对6.自定义一个用户时,如果选择项全部为默认状态,则该用户建立后为(D)A.SYSDBA B.DBA C.SYSOPER D.以上说法都不对7.OEM是一个借助于(B)的控制工具。
A.Windows窗口 B.浏览器窗口 C.Windows窗口与浏览器窗口D.以上说法都不对(4)SQL*Plus可以用(AB)方式打开。
(本题多选)A.命令行B.Windows窗口C.浏览器窗口D.以上说法都不对8.关于DBCA的说法中,正确的是(ABCD )。
(本题多选)A.可以用于创建数据库B.可以用于删除数据库C.可以应用于管理数据库模版D.可以用于修改数据库配置习题3一、填空题1.(实例)是一组Oracle后台进程/线程以及一个共享内存区,这些内存有同一个计算机上运行的线程/进程所共享。
2.(数据库)物理操作系统文件和磁盘(disk)的集合。
3.在用户连接使用数据库之前,必须首先(启动)数据库。
4.(表空间)是Oracle数据库内部最高层次的逻辑存储结构。
5.修改表空间时,使用命令格式的关键字是(ALTER TABLESPACE)。
二、.选择题1.下列组件不是Oracle实例的组成部分的是(C)。
A.系统全局区B.pmon后台进程C.控制文件D.调度程序2.系统全局区中的缓冲区以循环方式写入的是(D)。
A.数据缓冲区B.重做日志缓冲区C.大池D.共享池3.下面内存区域中用来缓存数据字典信息的是(D)。
A.数据库高速缓存B.程序全局区C.重做日志缓存D.共享池4.如果一个服务进程中止,下列进程可以用来释放它所占有的资源的是(D)。
A. DBWNB.LGWRC.SMOND.PMON5.下列后台进程中,不是Oracle实例必须启动的是(C)。
A. DBWNB.LGWRC.SMOND.ARCN6.如果一个数据缓冲区被为脏缓冲区,正确的说法是(C)。
A.该缓冲区的数据与数据文件不一致B.该缓冲区的数据与数据文件一致C.该缓冲区的数据正在被使用D.该缓冲区的数据包含有错误7.表空间和数据文件的关系是(B)。
A.一个表空间只能对应一个数据文件B.一个表空间可对应多个数据文件C.一个数据文件可对应多个表空间D.数据文件和表空间可以交叉对应8.存储数据的逻辑单位,按大小依次为(D)。
A.表空间、数据块、区和段B.区、表空间、数据块和段C.段、区、表空间和数据块D.表空间、段、区和数据块9.以下初始化参数可以决定数据高速缓冲区的大小的是(D)。
A.LOG_BUFFERRGE_POOL_SIZEC.DB_CACHE_SIZED.SHARED_POOL_SIZE10.以下情况会纪起检查点的是(D)。
A.SCN的值会发生变化B.切换日志C.脏缓冲区个数达到指定阈值D.执行COMMIT命令11.有关段的说法,错误的是(C)。
A.段有多种类型,用于存储不同的数据B.段的大小在创建时决定,不能改变C.段由多个区组成,区可以连续,也可以不连续D.用来存储回滚数据,要专门创建回滚段12.下面对LGWR进程的描述正确的是(D)。
A.负责对实例进行恢复B.进程失败后进行清理C.记录数据库的变化,以便进行数据恢复D.将脏缓冲区写入数据文件13.下列视图可用来查询控制文件信息的是(A)。
A.V$CONTROLFILESB.V$DATABASEC.V$CONTROLFILED.V$CONTROL14.下列情况下,LGWR进程写重做日志缓冲区到重做日志文件的是(D)。
A.每3秒B.当日志缓冲区的已满时C.执行COMMIT语句时D.以上选项都正确15.下面数据库文件用来记录应用程序对数据库进行改变的是(C)。
A.数据文件B.控制文件C.重做日志文件D.参数文件16.下面内存区域使用LRU机制进行管理的是(C)。
A.java池B.重做日志缓冲区C.数据库高速缓冲区D.大池17.下面后台进程可实现对重做日志文件的归档的是(D)。
A.PMONB.CKPTC.LCKnD.ARCn18.属于段的类型是(D)。
(本题多选)A.表段B.分区段C.簇段D.以上说法都不对19.创建数据库时命令格式的关键字是(A)。
A.CREATE DATABASE B.ALTER DATABASEC.CREATE TABLESPACED.ALTER TABLESPACE20.增加数据文件的关键字是(B)。
A.ALTERB.ADDC.DROPD.INCLUDING 21.属于表空间的是(ABD)。
(本题多选)A.永久表空间B.临时表空间C.撤销表空间D.大文件表空间22.下列说法中,错误的是(B)。
A.表段用于存储表的所有数据,其名称与表名相同B.UNDO段用于存放事物所修改数据的旧值C.临时段用于存放更新操作所产生的临时数据D.LOB段用于存储LOB列的数据23.要创建新的Oracle数据库,可以采用的工具是(B)。
A.Oracle Universal InstallerB.Oracle Datebase Configuration AssistantC.Oracle Enterprise Management Console Manager习题4一、填空题1.(主键约束)用于对实体完整性进行约束。