ORACLE入职考试题及答案 - 范文中心

ORACLE入职考试题及答案

04/17

Oracle 基础知识入职考试题

答案中下划线部分需要引起注意重点。

1、 数据库database :存放一系列数据的仓库。

2、 dos 模式下数据库备份、恢复命令:exp help=y ,imp help=y

3、 主要表空间tablespace

系统表空间system :存放系统表

回滚段表空间undotbs1:处理回退数据,和commit 、rollback 相关。

临时表空间temp :存放临时结果。

用户表空间users :存放一般用户的表。

4、 sql 语句的结束符合:每一条sql 语句用“;”结束而不是换行符。

5、 sql 语句的字符串符号:字符串使用单引号而不是双引号。

6、 sql 语句的注释采用字符:两个相连的减号“--”

7、 表 table

表是数据库中存放数据的最小单位,表有行、列组成。

表名由字母、下划线、数字组成。

8、 表主键:由一个或者几个列组成,它的值用于唯一地标识表中的某一行数据。

9、 列column 的属性及每个属性的说明

列名、列类型、列长度、是否可以为空(not null)

列名是字母、汉字、下划线、数字组成。

常用类型有:char 、varchar 、date 、int 、numeric 、blob 。

10、 char(5)、varchar(5)的区别

列类型为char (5)时,插入数据不足5位,后面自动补空格。

列类型为varchar (5)时,插入数据不足5位,后面不会补空格。

11、 创建学生表student(后面的提到表student 都是指这个表) ,列有学号、姓名、年龄、出生日期、身份证编号

照片,主键为学号

create table student

(学号 char(10) not null,

姓名 varchar(20) not null,

年龄 int,

出生日期 date,

身份证编号 varchar(18) not null,

院系名称 varchar(20), --注意:考试时不要忘记这个逗号

primary key (学号)

) ;--注意:考试时不要忘记每句话后面的分号

12、 创建学生选课表student_course(后面的提到表student_course都是指这个表) ,列有学号、课程号、成绩,

主键为学号、课程号

create table student_course

(学号 char(10) not null,课程号 char(6) not null,成绩 numeric(4,1),primary key (学号, 课程号)) ;

13、 删除用户user01的表student 的命令

drop table user01.student;

14、 快速删除表student 中的数据的命令

truncate table student;

15、 索引index 的作用:提高查询速度。

16、 索引根据几个列:一个或者几个列

17、 索引分哪两种,说明各自不同

唯一索引:索引列所有值都是唯一的。

重复索引:索引列的值可以有重复。

18、 为表student 的列“姓名”创建一个重复索引i_student_name

create index i_student_name on student(姓名) ;

19、 为表student 的列“身份证编号”创建一个唯一索引i_student_name

create unique index i_student_id on student(身份证编号) ;

20、 在建表时,系统会自动用主键建立一个唯一索引,索引名是随机产生,写出创建student 的主键索引语句

create unique index sys0001 on student(学号);--这个语句是由系统自动完成,用户不用自己创建。

21、 写出创建student_course的主键索引语句

create unique index sys0001 on student_course(学号, 课程号);

22、 用户user

每一个表都属于一个用户,一个用户可以拥有多个表。

建用户时需要指定默认表空间用来存放该用户的表。

使用用户名/密码登入系统后才可操作数据库。

23、 用户分哪两种:用户分为dba 、普通用户。

24、 dba 用户特权:数据库的最高权限,配置数据库参数

25、 权限

权限分为系统权限、对象权限

系统权限:配置数据库参数、创建表空间、创建/修改/删除用户。

对象权限:访问其他用户的表(或者视图)权限。有select 、update 、delete 、insert 权限。

26、 dba 用户能够访问哪些表(或者视图)

可以访问数据库中任何表(或者视图),即使其他用户没有授权。

27、 普通用户能够访问哪些表

自己的表(或者视图)。

其他用户授权给你的表(或者视图)。

28、 创建用户user01,初始密码123,默认表空间users ,使用表空间users 无限额

create user user01 identified by 123 default tablespace users quota unlimited on users;

29、 给用户user01授权会话、建表、建视图、建过程、建触发器的权限

grant create session, create table, create view , create procedure,create trigger to user01 ;

30、 修改用户user01密码为345

alter user user01 identified by 345;

31、 用户user01登入系统,查询用户user02的表student 所有数据

select * from user02.student; --*代表所有列

32、 将自己的表student 的查询权限授权给用户user01

grant select on student to user01;

33、 将自己的表student 的修改权限授权给用户user01

grant update on student to user01;

34、 将自己的表student 的删除权限授权给用户user01

grant delete on student to user01;

35、 将自己的表student 的插入权限授权给用户user01

grant insert on student to user01;

36、 将上面select/update/delete/insert权限从用户user01撤销

revoke select on student from user01;

revoke update on student from user01;

revoke delete on student from user01;

revoke insert on student from user01;

37、 将自己的表student 的查询权限授权给所有人

grant select on student to public;

38、 将自己的表student 的修改权限授权给所有人

grant update on student to public;

39、 将自己的表student 的删除权限授权给所有人

grant delete on student to public;

40、 将自己的表student 的插入权限授权给所有人

grant insert on student to public;

41、 将上面select/update/delete/insert权限从所有人撤销

revoke select on student from public;

revoke update on student from public;

revoke delete on student from public;

revoke insert on student from public;

42、 授权查询所有用户的所有表的权限给user01

grant select any table to user01;

43、 授权修改所有用户的所有表的权限给user01

grant update any table to user01;

44、 授权删除所有用户的所有表中数据的权限给user01

grant delete any table to user01;

45、 上面三种授权的撤销

revoke select any table from user01;

revoke update any table from user01;

revoke delete any table from user01;

46、 视图:视图是一个虚拟表,其内容由查询定义。

47、 根据表student ,创建一个只有女生信息的视图student_female

create view student_male as select * from student where 性别=’女’;

48、 如何实现让用户user01只能查询student 中的男生的学号、姓名

create view student_male as select 学号、姓名 from student where 性别=’男’;

grant select on student_male to user01;

49、 rollback 、commit 对什么语句有效,对什么语句无效

对数据操纵语言delete 、insert 、update 有效。

对数据定义语言create table、drop table、truncate table等无效。

50、 rollback 作用

rollback就是将上次rollback 或者commit 之后通过数据操纵语言对数据进行的修改全部作废。

51、 commit 作用

commit 就是将上次rollback 或者commit 之后通过数据操纵语言对数据进行的修改全部写入数据库。

52、 为什么对数据每次操作不是立刻写入库,而是通过commit 才会写入正式库。

使用数据操作语言对数据进行操作,操作结果临时放在回滚段中,只到遇到commit 才会一次写入正式库中,目的是为了保证数据的一致性,避免对数据操作没有完成前,出现中断,造成数据不一致。

53、 对表student 插入一行数据,学号:2012010101,姓名:张三,出生日期:1990-9-1,身份证编号

[***********]

insert into student(学号,姓名,出生日期,身份证编号)

values (’2012010101’,’张三’,date ’1990-9-1’, ’[***********]’);

54、 对表student_course插入一行数据的标准写法和省略写法,学号:2012010101,课程号:100001,成绩:90

insert into student_course(学号, 课程号, 成绩)

values (’2012010101’,’100001’,90);

insert into student_course

values (’2012010101’,’100001’,90);

55、 删除表student 全部数据

delete from student;

56、 删除表student 学号为2012010101数据

delete from student where学号=‘2012010101’;

57、 删除表student 前100行男生的数据

delete from student where性别=’男’ and rownum

58、 查询student 中所有数据标准写法和简单写法

select 学号, 姓名,年龄, 出生日期, 身份证编号, 院系名称 from student;

select * from student;

59、 查询student 中所有学生的院系名称、学号、姓名,按院系名称排序逆序、然后按学号排序

select 学号, 姓名 from student order by院系名称desc ,学号;

60、 查询大于等于20岁男同学或者所有的女同学的所有信息,按年龄排序

select * from student where (性别=’男’ and 年龄>=20) or 性别=’女’order by 年龄;

61、 查询没有选课的大于20岁的男同学的所有信息

select * from student where (性别=’男’ and 年龄>20)

and 学号 not in (select 学号 from student_course);

62、 和珅选学生,姓名中不能够有“刘、墉”任何一个字,但是有“钱”或者“权”的也可以,查询符合条件的学

生信息。

select * from student where (姓名 not like ‘%刘%’ and 姓名 not like ‘%墉%’ )

or 姓名 like ‘%钱%’ or姓名 like ‘%权%’;

63、 查和珅选学生,姓名中不能够有“刘、墉”任何一个字,但是如果有“钱”也有“权”的也可以,查询符合条

件的学生信息。

select * from student where (姓名 not like ‘%刘%’ and 姓名 not like ‘%墉%’ )

or (姓名 like ‘%钱%’ and姓名 like ‘%权%’);

64、 查询student 中男学生最大年龄、最小年龄是多少 select max(年龄) ,min(年龄) from student where 性别=’男’;

65、 查询student 中各个年龄及人数

select 年龄,count(年龄) from student group by 年龄;

66、 查询student_course中每个学号的总成绩、平均成绩,并定义别名

select 学号,sum(成绩) 总成绩,avg(成绩) 平均成绩 from student_course group by 学号;

67、 查询 student中所有院系名称并剔除重复记录 select distinct 院系名称 from student;

68、 age1、age2的内容为null,age3内容为20,表达的age1+100,age2+age3,age1=age3,age1ag3的值

null,null, 假,假

注:空值没有大小,自然不能进行大于、小于、等于运算。

而只能进行is null,is not null的判定

69、 查询所有年龄为空的前100个学生的序号、学号、姓名

select rownum,学号, 姓名 from student where 年龄 is null and rownum

70、 select * from student_course where 学号 in (select 学号 from student where 性别=’女’) 将in 改成

exists

select * from student_course t1 where exists(select * from student where 性别=’女’ and t1.学号=学号)

71、 select * from student_course where 学号 not in (select 学号 from student where 性别=’女’) 将in

改成exists

select * from student_course t1 where not exists(select * from student where 性别=’女’ and t1.学号=学号)

72、 利用student 、student_course查询男学生的学号、姓名、课程号、成绩

select t1.学号,t1. 姓名,t2. 课程号,t2. 成绩 from student t1,student_course t2

where t1.学号=t2.学号 and t1.性别=’男’;

73、 查询平均成绩大于60的学号、总成绩

select 学号,sum(成绩) from student_course group by 学号 having avg(成绩)>=60;

74、 union 用法:从student 、student1中查询男生的学号、姓名,并剔除重复的记录

select 学号, 姓名 from student where 性别=’男’

union

select 学号, 姓名 from student1 where 性别=’男’

75、 union all用法:从student 、student1中查询男生的学号、姓名,不剔除重复的记录

select 学号, 姓名 from student where 性别=’男’

union all

select 学号, 姓名 from student1 where 性别=’男’

76、 将身份证编号为18位的学生的出生日期设置成身份证编号中日期

update student set 出生日期=to_date(substr(身份证编号,7,8) ,‘yyyymmdd ’)

where length(身份证编号)=18;

77、 将出生日期不为空的学生的年龄根据出生日期及当前机器时间进行设置

update student set 年龄= extract(year from sysdate) -extract(year from 出生日期)

where 出生日期 is not null;

78、 所有年龄不为空值的男学生年龄增加一岁,出生日期增加365天

update student set 年龄=年龄+1, 出生日期=出生日期+365

where 性别=’男’ and年龄 is not null;

79、 输入数据时粗心将部分学生的学号的开始4位“2010”输成“2020”,解决办法

update student set 学号=’2010’ || substr(学号,5,6)-- ||用来连接两个字符串

where substr(学号,1,4)=’2020’;

80、 剔除院系名称中的空格

update student set 院系名称=replace(院系名称, ’ ‘, ’’)

where substr(学号,1,4)=’2020’;

81、 将院系名称长度小于3的后面,增加上“学院”两个字

update student set 院系名称=院系名称||’学院‘ where length(院系名称)

82、 和珅选状元,姓名中不能够有“刘、墉”任何一个字,而且要有“钱”也要有“权”,将这些学生的所有选课的

成绩赋值100。

update student_course

set 成绩=100

where 学号 in

(select 学号 from student

where 姓名 not like ‘%刘%’ and 姓名 not like ‘%墉%’

and 姓名 like ‘%钱%’and 姓名 like ‘%权%’;

83、 根据student 中姓名设置student_course中新增加的列姓名

update student_course t1

set 姓名=(select 姓名 from student t2 where t1.学号=t2.学号) ;

84、 根据student_course中成绩统计student 中新增加总成绩、平均成绩,条件是只统计有选课的学生

update student t1

set (总成绩,平均成绩)

=(select sum(成绩) ,avg (成绩) from student_course t2 where t1.学号=t2.学号)

where 学号 in (select 学号 from student_course)

85、 将student 中所有数据备份到表studentback 中 create table studentback as select * from student;

86、 查询大于20岁男同学或者小于20岁的女同学的学号、姓名,将查询结果创建成表student1 create table student1 as

select 学号, 姓名 from student

where (性别=’男’ and 年龄>20) or (性别=’女’ and 年龄

87、 将student 、student_back结构相同,将student 全部数据插入到student_back中 insert into student_back select * from student;

88、 将student 、student_back结构相同,将student 中男同学的学号、姓名、身份证号码插入到student_back中

insert into student_back (学号,姓名,身份证号码)select 学号,姓名,身份证号码 from student;

89、 函数instr ,instr(‘1234567’, ’45’) , instr(‘45’, ’1234567’) ,instr(‘1234567’, ’57’) 返回

结果分别是

4,0,0

90、 函数replace ,replace(‘1234512345’, ’4’, ’AB ’),replace(‘1234512345’, ’3’, ’’) 返回结果分别

123AB5123AB5,12451245

91、 函数substr ,substr (‘ABCDEFGIH ’,3,3),substr (‘ABCDEFGH ’,5)返回结果

CDE ,EFGH

92、 函数to_char,将当前系统时间转化成如‘2012-01-01 23:10:10’格式串函数

to_char(sysdate,’yyyy-mm-dd hh24:mi:ss’) --sysdate返回当前系统时间的伪列

93、 函数to_char,length,length(to_char(123,’99999’)), length(to_char(123,’00000’)),

length(to_char(123,’FM9999’)), length(to_char(123,’FM0000’)) 返回结果

6,6,3,4

94、 函数to_date,将字符串‘20120101’转换成日期

to_date(‘20120101’, ’yyyymmdd ’)

95、 函数时间trunc ,当前时间为2010-3-4 21:34:56,trunc(sysdate,’yyyy ’) ,trunc(sysdate,’dd ’) ,

trunc(sysdate,’hh ’) ,trunc(sysdate,’mi ’) 结果

2010-1-1 00:00:00,2010-1-2 00:00:00,2010-1-1 21:00:00,2010-1-1 21:34:00

96、 函数trunc,round ,trunc (123.56,0),trunc (123.56,1),round (123.56,0),round (123.56,1)返回结果

123, 123.5, 124, 123.6

97、 函数nvl ,age1的内容为null,age2内容为20,表达的nvl(age1,0)+100+nvl(age2,0)的值

120

98、 将字符串‘123’转换成数值的函数, 剔除字符串‘A B C ’中的空格的函数, 剔除字符串‘A B C ’前后

空格的函数

to_number(‘123’) ,replace(‘A B C ‘, ’ ‘, ’’) ,trim(‘A B C ‘, ’ ‘, ’’)

99、 函数last_day,求当前时间这个月的天数

extract(day from last_day(sysdate))

100、 系统时间增加3天,系统时间增加4小时,时间增加5分钟,时间增加6秒钟

sysdate+3,sysdate+1/24*4, sysdate+1/24/60*5, sysdate+1/24/60/60*6

101、 利用系统视图tab ,通过sql 生成批量删除自己所有表中数据的truncate 命令, 按表名排序

select ‘truncate table ’ || tname || ‘;’ from tab order by tname;

102、 利用系统视图all_tables,通过sql 生成批量删除所有用户的表名叫TEST 表的drop 命令, 按用户排逆序

select ‘drop table ’ || owner || ‘. ’ || table_name || ‘;’

from all_tables where table_name=’TEST ’ order by owner desc;

103、 派生表,财富表FORTUNE (姓名、资金额),富豪排行榜前十名的排名、姓名、资金额

select rownum,姓名,资金额

from (select姓名,资金额 from fortune order by 资金额 desc) --查询结果作为表使用就是派生表 where rownum


相关内容

  • 中南大学数据库考试参考答案
    中南大学考试试卷 A 卷 2010 ~2011 学年学期课程 时间100分钟 48学时,100分,占总评成绩 (原有综合实验与平时成绩占50%) 2011年5月27日 专业年级: 电子信息工程08级 参考答案及评分标准 一.填空题:(请将答 ...
  • 甲骨文(Oracle)学习中心项目介绍
    甲骨文(Oracle)学习中心项目介绍 甲骨文(Oracle)学习中心项目,是对Oracle WDP ("Oracle职业发展力计划")的一个改革和提升.甲骨文(Oracle)学习中心项目,不仅仅是认证培训,而是在深入分 ...
  • Oracle查询练习及答案
    1 找出佣金高于薪金60%的雇员. SELECT * FROM emp WHERE comm>sal*0.6; 2 找出部门10中所有经理和部门20中所有办事员的详细资料. SELECT * FROM emp WHERE deptno ...
  • 银监会专业笔试
    2015年的银监会计算机类专业科目笔试的真题.举例如下: [例1]"science"是XML 中一个元素的定义,其中元素的内容是( ). A.title B.style C.italic D.science [例2]SQ ...
  • 国内外CRM品牌排行及分析
    国内外CRM排行 CRM(Customer Relationship Management)即客户关系管理,通常是指用计算机自动化分析销售.市场营销.客户服务以及应用支持等流程的软件系统.以客户为中心,成为越来越多企业经营管理的核心,这使C ...
  • 20XX年全国计算机三级数据库考点知识大全
    2017年全国计算机三级数据库考点知识大全 1.ISP(internet 服务提供商) 是用户接入internet 的入口点,一方面他为用户提供接入internet 服务,另一方面,他也为用户提供各类信息资源.一般用户接入internet ...
  • 文件类型大全
    文件类型大全 A A:对象代码库文件 AAM:Authorwareshocked文件 AAS:Authorwareshocked包 ABF:Adobe二进制屏幕字体 ABK:CorelDRAW自动备份文件 ABS:该类文件有时用于指示一个摘 ...
  • 生产实习报告软件工程11-6
    软件工程专业 软件开发实践(生产实习)报告 教学单位 班 级 软件学院 软件工程 11-6 学生姓名 学 号 实习时间 2014-06-23 至 07-18 指导教师 (验收答辩老师) 辽宁工程技术大学软件学院软件工程系制 1 实习时间 2 ...
  • 高考网上阅卷透视
    高考网上阅卷透视 杨清虎 马上又要举行一年一度的高考了,笔者在这里针对时下普及的网上阅卷工作,做点适当的披露和介绍,让高考阅卷不再神秘.希望没有参与过阅卷的老师和同学们对高考网上阅卷有所了解,增加社会透明度.作为老师应该了解评卷机制,有利于 ...
  • 谈如何管理:集团公司的IT部门(含必要的名词解释)
    谈如何管理:集团公司的IT部门(含必要的名词解释) 作者:覃廷万 2008/05/13---- 编者按: 这篇文章主要为公司管理层(GM.CEO.CIO.IT Manager)而写的,主要阐述IT部门的管理概念和管理要点,而纯技术(技巧) ...