首页 热点资讯 义务教育 高等教育 出国留学 考研考公
您的当前位置:首页正文

oracle 笔试题

2023-11-09 来源:花图问答

ORACLE笔试题一、单选题1.在Oracle中,以下不属于集合操作符的是()。A.UNIONB.SUMC.MINUSD.INTERSECT2.在Oracle中,执行下面的语句:SELECTceil(-97.342),floor(-97.342),round(-97.342),trunc(-97.342)FROMdual;

哪个函数的返回值不等于-97()。A.ceil()B.floor()C.round(0)D.trunc()

3.以下哪个命令可以被用来从表STATE中drop列UPDATE_DT()。A.ALTERTABLESTATEDROPCOLUMNUPDATE_DT;B.ALTERTABLESTATEREMOVECOLUMNUPDATE_DT;C.DROPCOLUMNUPDATE_DTFROMSTATE;D.你不能从这个表中DROP该列.4.哪个命令用来创建一个primarykeyconstraintpk_books在表books,列ISBN上,请选择一个()。A.createprimarykeyonbooks(ISBN);B.createconstraintpk_booksprimarykeyonbooks(ISBN);C.altertablebooksaddconstraintpk_booksprimarykey(ISBN);D.altertablebooksaddprimarykey(ISBN);5.以下哪行有错()。1X:=Y+200;2IFX<10THEN3Y:=30;4ELSEIFX<40THEN5Y:=20;6ENDIF;7ENDIF;A.Line2B.Line3C.Line4D.Line56.一个VIEW被以下语句创建,请问在该VIEW上可进行哪个操作()CREATEVIEWUSA_STATESASSELECT*FROMSTATEWHERECNT_CODE=1WITHREADONLY;A.SELECTB.SELECT,UPDATEC.SELECT,DELETED.SELECT,INSERT7.下面哪个语句是表示将T表中第3~5行数据列出来的SQL语句()。A.select*fromtwhererownum<=5minusselect*fromtwhererownum<=2;B.select*fromtwhererownum<=5intersectselect*fromtwhererownum<=2;C.select*fromtwhererownum<=5unionselect*fromtwhererownum<=2;D.select*fromtwhererownum<=5unionallselect*fromtwhererownum<=2;8.表EMPLOYEES的结构为:(EMP_IDNUMBER(4)NOTNULLLAST_NAMEVARCHAR2(30)NOTNULLFIRST_NAMEVARCHAR2(30)DEPT_IDNUMBER(2)JOB_CATVARCHAR2(30)SALARYNUMBER(8,2))下面哪条语句可以查出各个dept_id的最大salary值和最小salary值并且它的最小值小于5000最大值大于15000()A.SELECTdept_id,MIN(salary),MAX(salary)FROMemployeesWHEREMIN(salary)<5000ANDMAX(salary)>15000;B.SELECTdept_id,MIN(salary),MAX(salary)FROMemployeesWHEREMIN(salary)<5000ANDMAX(salary)>15000GROUPBYdept_id;C.SELECTdept_id,MIN(salary),MAX(salary)FROMemployeesHAVINGMIN(salary)<5000ANDMAX(salary)>15000;D.SELECTdept_id,MIN(salary),MAX(salary)FROMemployeesGROUPBYdept_idHAVINGMIN(salary)<5000ANDMAX(salary)>15000;E.SELECTdept_id,MIN(salary),MAX(salary)FROMemployeesGROUPBYdept_id,salaryHAVINGMIN(salary)<5000ANDMAX(salary)>15000;

9.在oracle中,下面哪个函数与||运算符有相同的功能()。A、ltrimB、contactC、substrD、instr

10.函数floor(-2345.67)返回结果是()。A.2345.67B.2346C.-2346D.-2345

11.Oracle数据库中,下面()可以作为有效的列名。(选择一项)A.ColumnB.123_NUMC.NUM_#123D.#NUM12312.表TEST数据如下,P_ID为上级ID:CREATETABLETESTASSELECT1ID,NULLP_ID,‘a‘NAMEFROMDUALUNIONSELECT2ID,1P_ID,‘b‘NAMEFROMDUALUNIONSELECT3ID,1P_ID,‘c‘NAMEFROMDUALUNIONSELECT4ID,2P_ID,‘d‘NAMEFROMDUALUNIONSELECT5ID,2P_ID,‘e‘NAMEFROMDUALUNIONSELECT6ID,4P_ID,‘f‘NAMEFROMDUALUNIONSELECT7ID,4P_ID,‘g‘NAMEFROMDUALUNIONSELECT8ID,1P_ID,‘h‘NAMEFROMDUAL;以下哪段SQL实现查询ID为2但不包括ID=2的所有下级数据()。A.SELECT*FROMTESTCONNECTBYPRIORP_ID=IDSTARTWITHID=2;B.SELECT*FROMTESTCONNECTBYPRIORID=P_IDSTARTWITHID=2;C.SELECT*FROMTESTCONNECTBYPRIORP_ID=IDSTARTWITHP_ID=2;D.SELECT*FROMTESTCONNECTBYPRIORID=P_IDSTARTWITHP_ID=2;13.表EMPLOYEES结构为(EMPLOYEE_IDNUMBER(6)notnullprimarykey,FIRST_NAMEVARCHAR2(20)unique,LAST_NAMEVARCHAR2(25),EMAILVARCHAR2(25)notnull,PHONE_NUMBERVARCHAR2(20),HIRE_DATEDATE,JOB_IDVARCHAR2(10),SALARYNUMBER(8,2),COMMISSION_PCTNUMBER(2,2),MANAGER_IDNUMBER(6),DEPARTMENT_IDNUMBER(4))以下哪几个语句可算出表中记录,多选()A.selectcount(*)fromEMPLOYEESB.selectcount(EMPLOYEE_ID)fromemployeesC.selectcount(FIRST_NAME)fromemployeesD.selectcount(EMAIL)fromemployeesE.selectcount(JOB_ID)fromemployees二、简答题1.有EMP表一张,字段为ID,NAME,ID有重复数据,请写出有重复数据的id、NAME语句,并写出没有重复数据的ID、name语句。

2.去除字符串“aabb”两边的空格(函数)。

3.student表字段为(classno,name,birthday),将所有3班出生日期小于1981年5月12日的记录删除。

4.student表字段为(classno,name,score)修改表student的数据,将所有一班的学生成绩加10分

 

三、编程题表结构如下:Dept(部门表):dno(部门号),dname(部门名)Emp(员工表):eno(员工号),ename(员工姓名),esex(性别:男士/女士),sal(工资),dno(部门号),join_date(入职时间),elevel(级别:1,2,3…)1.列出部门为“销售部”,入职时间为2011年12月1日之前的所有男员工工资大于5000元的信息,并按入职时间降序、工资升序进行展示,展示内容为:部门名,员工姓名,工资,入职时间。

 

2.列出员工人数最多的部门员工平均工资。答:

 

3.写出SQL实现入职超过三年的员工工资增加10%、级别加1。

 

4.列出各部门员工工资在2000到3000之间不同性别人数,展示字段如下:部门、男士人数、女士人数。

 

oracle 笔试题

标签:

小编还为您整理了以下内容,可能对您也有帮助:

oracle数据库题,求答案

答案如下,正确为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、在连接操作中,如果左表和右表中不满足连接条件的数据都出现在结果中, 那么这种连接是全外连接。( T ) 21、自然连接是根据两个表中同名的列而进行连接的,当列不同名时,自然连接 将失去意义。( T ) 23、PL/SQL代码块声明区可有可无。( T ) 24、 隐式游标与显式游标的不同在于显式游标仅仅访问一行, 隐式的可以访问多

行。( F )

25、隐式游标由PL/SQL维护,当执行查询时自动打开和关闭。( T ) 26、显式游标在程序中显式定义、打开、关闭,游标有一个名字。( T )

27、隐式游标的游标属性前缀是SQL。( T ) 28、显式游标的游标属性的前缀是游标名。( T ) 29、隐式游标的属性%ISOPEN总是为FALSE。(

T ) 30、显式游标的%ISOPEN根据游标的状态确定值(

F )

31、隐式游标的SELECT语句带有INTO子串,只有一行数据被处理。( T ) 32、 显式游标可以处理多行数据, 在程序中设置循环, 取出每一行数据。 ( T

34、可以在PL/SQL中使用GOTO语句使运行流程进行跳转。( F )

35、因为存储过程不返回值,使用时只能单独调用;而函数却能出现在能放置表 达式的任何位置。( Y )

查看页面:http://wenku.baidu.com/view/d64574cd8bd63186bcebbc8c.html

ORACLE笔试题:存在表T(a,b,c,d),要根据字段c排序后取第21—30条记录显示,请给出sql

1.select * from (select c.*,rownum as rn from (select * from t order by c desc) c) where rn between 21 and 30;

2.select * from (select * from test order by c desc) x where rownum < 30

minus

select * from (select * from test order by c desc) y where rownum < 20 order by 3 desc

二者相比,下边的Minus性能稍差。

oracle数据库面试问题

oracle数据库面试问题

  Oracle数据库产品为财富排行榜上的前1000家公司所采用,许多大型网站也选用了Oracle系统。下面是我整理的关于oracle数据库面试问题,希望大家认真阅读!

  1. 解释冷备份和热备份的不同点以及各自的优点

  解答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。(因为不必将archive log写入硬盘)

  2. 你必须利用备份恢复数据库,但是你没有控制文件,该如何解决问题呢?

  解答:重建控制文件,用带backup control file 子句的recover 命令恢复数据库。

  3. 如何转换init.ora到spfile?

  解答:使用create spfile from pfile 命令.

  4. 解释data block , extent 和 segment的区别(这里建议用英文术语)

  解答:data block是数据库中最小的逻辑存储单元。当数据库的对象需要更多的物理存储空间时,连续的data block就组成了extent . 一个数据库对象拥有的所有extents被称为该对象的segment.

  5. 给出两个检查表结构的方法

  解答:1.DESCRIBE命令

  2.DBMS_METADATA.GET_DDL 包

  6. 怎样查看数据库引擎的'报错

  解答:alert log.

  7. 比较truncate和delete 命令

  解答:两者都可以用来删除表中所有的记录。区别在于:truncate是DDL操作,它移动HWK,不需要 rollback segment .而Delete是DML操作, 需要rollback segment 且花费较长时间.

  8. 使用索引的理由

  解答:快速访问表中的data block

  9. 给出在STAR SCHEMA中的两种表及它们分别含有的数据

  解答:Fact tables 和dimension tables. fact table 包含大量的主要的信息而 dimension tables 存放对fact table 某些属性描述的信息

  10. FACT Table上需要建立何种索引?

  解答:位图索引 (bitmap index)

;

Oracle数据库的面试题目及答案

Oracle数据库的面试题目及答案

  基础题目:

  1. 比较truncate和 命令

  解答:两者都可以用来删除表中所有的记录。区别在于:truncate是DDL操作,它移动HWK,不需要 rollback segment .

  而Delete是DML操作, 需要rollback segment 且花费较长时间.

  【相同点

  truncate和不带where子句的, 以及drop都会删除表内的数据

  不同点:

  1. truncate和 只删除数据不删除表的结构(定义)

  drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的.存储过程/函数将保留,

  但是变为invalid状态.

  2.语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发.

  truncate,drop是ddl, 操作立即生效,原数据不放到rollback segment中,不能回滚. 操作不触发trigger.

  3.语句不影响表所占用的extent, 高水线(high watermark)保持原位置不动

  显然drop语句将表所占用的空间全部释放

  truncate 语句缺省情况下见空间释放到 minextents个 extent,除非使用reuse storage; truncate会将高水线复位(回到最开始).

  4.速度,一般来说: drop>; truncate >;

  5.安全性:小心使用drop 和truncate,尤其没有备份的时候.否则哭都来不及

  使用上,想删除部分数据行用,注意带上where子句. 回滚段要足够大.

  想删除表,当然用drop

  想保留表而将所有数据删除. 如果和事务无关,用truncate即可. 如果和事务有关,或者想触发trigger,还是用.

  如果是整理表内部的碎片,可以用truncate跟上reuse stroage,再重新导入/插入数据

  】

  2.Oracle中,需要在查询语句中把空值(NULL)输出为0,如何处理?

  答案:nvl(字段,0).

  nvl( ) 函数

  从两个表达式返回一个非 null 值。

  语法

  NVL(eExpression1, eExpression2)

  参数

  eExpression1, eExpression2

  如果 eExpression1 的计算结果为 null 值,则 NVL( ) 返回 eExpression2。如果 eExpression1 的计算结果不是 null 值,

  则返回 eExpression1。eExpression1 和 eExpression2 可以是任意一种数据类型。如果 eExpression1 与 eExpression2

  的结果皆为 null 值,则 NVL( ) 返回 .NULL.。

  返回值类型

  字符型、日期型、日期时间型、数值型、货币型、逻辑型或 null 值

  说明

  在不支持 null 值或 null 值无关紧要的情况下,可以使用 NVL( ) 来移去计算或操作中的 null 值。

  select nvl(a.name,空得) as name from student a join school b on a.ID=b.ID

  注意:两个参数得类型要匹配

  3.Oracle中char和varchar2数据类型有什么区别?有数据”test”分别存放到10)和varchar2(10)类型的字段中,

  其存储长度及类型有何区别?

  答案:

  区别: 1).CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“test",对于CHAR (10),

;

显示全文