视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
ORACLE-笔试题及答案
2025-09-25 17:58:03 责编:小OO
文档
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 WHERE product_type = 'TOYS'

d) DELETE FROM sales

2,在Oracle中,下面用于分组函数的返回值的字句是(B)   

a)  WHRER   

d) 无法限定分组函数的返回

3,在Oracle PL/SQL中,执行动态SQL的语句是(D)   

d) EXECUTE IMMEDIATE  

4,下列表空间中 __(D)__表空间是运行一个数据库必须的一个表空间。 

B)TOOLS  

D)SYSTEM

5, PL/SQL代码段中注释符号是___(C)___。  

A) //        B)  \\\\      C)  --        D)  ,

6,在PL/SQL代码段的异常处理块中 捕获所有异常的关键词是______。 (A)

A、O、A、E、ERRORS

7, SQL语句中修改表结构的命令是  (C)      。

 A、M、MODIFY STRUCTURE  C、A、ALTER STRUCTURE

8,在oracle中获取前10条的关键字是(D) 

A)     top      B)L)first             D) rownum 

9,下面那个不是oracle程序设计中的循环语句( A)

 … …e…e… end loop

10,以下哪个不是数据库的物理组件(A)。

 A)  表空间  B)  数据文件  C)  日志文件  D)  控制文

11,请根据PRODUCT_NAME列从PRODUCT表查询中过滤返回的数据。下列哪个子句包含相应过滤条件的引用?(C)

A)select      B)from      C)where      D)having

12,请从订单表中取得数据,其中包括三个列客户名、订单时间与订单费用。可以用下列哪个where子句查询ORDERS表,取得客户A超过2700的订单?(D)

A)where 客户名= ‘A’;

B)where 客户名= ‘A’ and 订单费用 < 2700;

C)where 客户名= ‘A’ or 订单费用 > 2700;

D)where 客户名= ‘A’ and 订单费用 > 2700;

13,Oracle中要生成数据库表,下列哪个选项是无效表生成的语句?(D)

A)create table cats(c_name varchar2(10), c_weight number, c_owner varchar2(10));

B)create table my_cats as select * from cats where owner = ‘ME’;

C)create global temporary table temp_cats(c_name varchar2(10), c_weight number, c_owner varchar2(10));

D)create table 51cats as select c_name, c_weight from cats where c_weight > 5;

14,试图在Oracle生成表时遇到下列错误:ORA-00955-name is already used by existing object。下列哪个选项无法纠正这个错误?(C)

A)以不同的用户身份生成对象。 删除现有同名对象

C)改变生成对象中的列名。 更名现有同名对象。

15,删除Oracle数据库中父/子关系中的父表。在删除父表时下列哪个对象不会删除?(B)

A)相关约束 子表 相关触发器 相关索引

16,下面哪一个SQL语句将删除DEPT表中的所有行?(D)

17,下面哪一个SQL语句将USER表的名称更改为USERINFO? (C)

A)ALTER TABLE USER RENAME AS USERINFO;

B)RENAME TO USERINFO FROM USER;

C)RENAME USER TO USERINFO;

D)RENAME USER AS USERINFO;

18,假定USER表的PRIMARY KEY约束名为USER_ID_PK,下面哪一个语句将删除这个约束?(C)

A)DROP CONSTRAINT USER_ID_PK;

B)ALTER TABLE USER DROP USER_ID_PK;

C)ALTER TABLE USER DROP CONSTRAINT USER_ID_PK;

D)ALTER TABLE USER DROP PRIMARY KEY;

19,哪个函数能返回字符串的首字符。(B)

A)LTRIM    B)RTRIM   C)MOD  D)INSERT  

20,哪个语句不会建立隐式事务?(D)

A)INSERT   B)UPDATE   C)DELETE   D)SELECT 

21,在Oracle中,下面哪条语句当COMM字段为空时显示0,不为空时显示COMM的值(A)。

A)select ename, nvl(comm.,0) from emp;

B)select ename, null(comm.,0) from emp;

C)SELECT ename,NULLIF(comm,0)FROM emp;

D)SELECT ename,DECODE(comm.,NULL,0)FROM emp;

22,在Oracle 中,下列不属于字符数据类型的是(D)

A)VARCHAR2

B)LONG

C)LONG RAW

D)CLOB

23,检查下列SQL的输出

SQL> select a.deptno,a.job,b.loc,sum(a.sal)

   2  from dmp a,dept b

   3  where a.deptno = b.depton

   4  group by a.deptno,a.job,b.loc

   5 order by sum(a.sal);

这个查询按哪个列的顺序返回输出?( D )

A)A.DEPTON    B)A.JOB     C)B.LOC     D)SUM(A.SAL)

24,Oracle中,有一个名为seq的序列对象,以下语句能返回序列值但不会引起序列值增加的是(C)

A)select seq.ROWNUM from dual;

B)select seq.ROWID from dual;

C)select seq.CURRVAL from dual;

D) select seq.NEXTVAL from dual;

25,在Oracle中,当控制一个显式游标时,以下哪种命令包含INTO子句(  C  )

A)OPEN

B)CLOSE

C)FETCH

D)CURSOR

26,在表table中有列的col1,其数据类型为INTERGER,在PL/SQL的DECLARE部分声明了一个变量var1,语句为:

Var1 tabl.col1%TYPE;

不久后,执行了语句:

ALTER TABLE tabl MODIFY (col1 (NUMBER (5,2)));

则var1 的数据类型为 (  B  )

A)整数型

B)数值型

C)字符型

D)以上皆非

27,在Oracle中,(  C  )操作符返回两个查询所选定的所有不重复的行

A)Intersect

B)Minus

C)Union

D)Or 

28,在Oracle中。关于程序包的描述错误的是(B)

A)程序包是一中数据对象,它是对相关PL/SQL类型,子程序,游标,异常,变量和常量的封装

B)程序包中私有对象是通过PRIVATE关键字表示的

C)PL/SQL允许两个或多个打包的子程序具有同一名字,只需要子程序接受的参数数据类型不同

D)程序包具有模块化,信息影藏,新加功能及性能更佳等优点

29,在 Oracle中,下列(C)语句定义了一个游标。

A)CURSOR cur For SELECT * FROM cd     WHERE category=’ROCK’

B)CREATE CURSOR cur FOR SELECT * FROM cd WHERE category=’ROCK’:

C)CURSOR cur IS SELECT * FROM cd WHERE category=’ROCK’;

D)CREATE CURSOR cur IS SELECT * FROM cd WHERE category=’ROCK’;

30,下面对序列venseq修改的语句,错误的是( A ).

A)ALTER SEQUENCE venseq START WITH 1

B)ALTER SEQUENCE venseq MAXVALUE 90

C)ALTER SEQUENCE venseq NOMINVALUE

D)ALTER SEQUENCE venseq NOCACHE

31,TEST表包含两个列,TESTCOL定义为数据类型NUMBER(10),TESTCOL_2定义为数据类型VARCHAR2(10)。在Oracle中发出下列语句:insert into test(testcol, testcol_2) values (null, ‘FRANCIS’),然后对表进行下列查询:select nvl(testcol, ‘EMPTY’) as testcol from test where testcol_2 = ‘FRANCIS’。下列选项哪个是得到的结果?(D)

A)Oracle返回结果0                B)Oracle返回结果EMPTY

C)Oracle返回结果NULL              D)Oracle返回错误结果

32,要从ORDERS表中取得数据,其中包括三个列CUSTOMER、ORDER_DATE与ORDER_AMT。可以用下列哪个where子句查询ORDERS表,取得客户LESLIE超过2700的订单?(D)

A)where customer = ‘LESLIE’;

B)where customer = ‘LESLIE’ and order_amt < 2700;

C)where customer = ‘LESLIE’ or order_amt > 2700;

D)where customer = ‘LESLIE’ and order_amt > 2700;

33,用下列代码块回答问题:(A)

SQL> select ______(-45) as output from dual;

OUTPUT

------

-45

下列哪个单行函数无法产生这个输出? 

A)abs()         B)ceil()         C)floor()        D)round()

34,对表中的某一行,VARCHAR2列包含数值SMITHY,应用程序在右侧填充七个空格。length()函数处理这个列值时,返回什么值?(B)

A)6            B)13            C)30           D)60

35,SQL *Plus中发出的下列语句: 

SQL> select ceil(-97.342),

floor(-97.342),

round(-97.342),

trunc(-97.342)

from dual;

下列哪个函数不返回结果-97?(B)

A)ceil()          B)floor()          C)round()          D)trunc()

36,SQL *Plus中发出的下列语句: 

SQL> select ceil(256.342),

floor(256.342),

round(256.342),

trunc(256.342)

from dual;

下列哪个函数不返回结果256?(A)

A)ceil()         B)floor()           C)round()          D)trunc()

37,在Oracle中发出的下列查询: 

SQL> select months_between(‘15-MAR-83’,’15-MAR-97’) form dual;

Oracle返回什么?(D)

A)14        B)-14         C)168       D.-168

38,你要在Oracle中使用日期信息的格式掩码。下列哪种情形不适合这个格式掩码?(D)

A)to_date()   B)to_char()       C)alter session set nls_date_format     D)to_number()

39,数据库中有两表PRODUCT与STORAGE_BOX,PRODUCT表中列出各个产品的惟一ID号、产品名和特定产品所在的箱子。另一个表中列出各个存储箱(用数字标识)可以包含许多产品,但每个箱子只能在一个地方。下列哪个语句能正确显示这个数据库中所有产品ID、名称和箱子地址?(C)

A)select p.prod_id, p.prod_name, b.box_loc from product p, storage_box b where 

   p.prod_id = b.prod_id and prod_name=’WIDGET’;

B)select p.prod_id, p.prod_name, b.box_loc from product p, storage_box b where 

   prod_name=’WIDGET’;

C)select p.prod_id, p.prod_name, b.box_loc from product p, storage_box b where 

   p.stor_box_num = b.stor_box_num and prod_name=’WIDGET’;

D)select prod_id, prod_name, box_loc from product , storage_box where 

   stor_box_num = stor_box_num and prod_name=’WIDGET’;

40,开发报表时,要连接三个表的信息,这些表为EMP、DEPT与SALGRADE。只需要公司10级以上员工相应的员工、部门地址与工资范围的记录。这个查询需要多少比较运算?(B)

A)2      B)3      C)4     D)5

二、简答题(每题3分)

1 . Truncate与 delete的区别?

答案: delete一般用于删除少量记录的操作,而且它是要使用回滚段并且要进行显示的提交事务。而truncate则使用于大量删除数据,而且隐式提交事务,其速度要比使用delete快的

2. DDL和DML分别代表什么?

答案: DDL表示数据定义语言,在ORACLE中主要包括CREATE,ALTER,DROP;

DML表示数据操作语言,主要的DML有SELECT,INSERT,UPDATE,DELETE.

3. 超键、主键、候选键的定义?

答案:超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键。

候选键(candidate key):不含有多余属性的超键称为候选键。(候选键可以有多个)

主键(primary key):用户选作元组标识的一个候选键称为主键。(主键是候选键中一个)

4. oracle中如何获取系统时间?

答案:select sysdate from dual;

5..表的约束有哪几种?分别起什么作用?

答案:

1.主键约束:列值不能为空,不能重复

2.唯一值约束:列值不能重复

3.检查约束:列值要满足检查条件

4.外键约束:列值要么是主表参照咧的值,要么是空值

5.空/非空约束:列值为空或者非空。

三、模拟题(共25分)

1. 表:user;字段:姓名,年龄,性别,手机号(11位) 现在需要查出所有号码为186开头并且第6位是0,第9位是1的用户姓名。(5分)

答案:SELECT 姓名 FROM user WHERE 手机号 LIKE '186__0__1__';

或者SELECT 姓名 FROM user WHERE 手机号 LIKE '186__0__1__%';

2. emp为部门员工表。(20分)

字段deptno为部门编码;ename为员工姓名;empno为员工编号;佣金为comm;薪金为sal;

1.       选择部门编码为30中的所有员工

select * from emp where deptno = 30;

2.       找出佣金高于薪金的员工

select * from emp  where comm > sal;

3.       找出佣金高于薪金60%的员工

select * from emp  where comm > (0.6)*sal;

4.找出不收取佣金或收取的佣金低于100的员工

select * from emp where comm isnull or comm < 100;

5.   显示员工的详细资料,按姓名排序

select * from emp order by ename ;下载本文

显示全文
专题