ORACLE数据库习题.docx
- 文档编号:24758608
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:29
- 大小:24.30KB
ORACLE数据库习题.docx
《ORACLE数据库习题.docx》由会员分享,可在线阅读,更多相关《ORACLE数据库习题.docx(29页珍藏版)》请在冰豆网上搜索。
ORACLE数据库习题
数据库物理结构包括以下三种文件,以下不属于的是()
A.系统文件
B.日志文件
C.数据文件
D.控制文件
2.下列哪个命令是用于ORACLE中数据导出的()
A.expB.impC.inputD.output
3.()是用于控制数据访问的语言。
A.DMLB.DDLC.DCLD.DLL
表示什么()
*
A.0B.空格C.值D.没有值
5.下面四个语句中哪一个是正确的()
A.SELECT*,ENAMEFROMEMP;
B.DELETE*FROMEMP;
C.SELECTDISTINCTEMPNO,HIREDATEFROMEMP;
D.SELECTENAME|SALAS“name”FROMEMP;
6.假定有一张表用户表users,其中一身份证字段ID_card。
为了维护数据的完整性,在设计数据库时,最好对ID_card字段添加约束,请问应该添加什么约束( )
A.primarykeyB.checkC.defaultD.notnull
7.下面哪一个like命令会返回名字象HOTKA的行()
A.whereenamelike‘_HOT%'
…
B.whereenamelike‘H_T%'
C.whereenamelike‘%TKA_'
D.whereenamelike‘%TOK%'
8.( )操作符只返回由第一个查询选定但是没有被第二个查询选定的行。
ALL
9.EMPLOYEES表的结构如下:
EMPLOYEE_IDNUMBERPRIMARYKEY
…
FIRST_NAMEVARCHAR2(25)
LAST_NAMEVARCHAR2(25)
HIRE_DATEDATE
考虑下面的语句。
tablenew_emp(employee_idNUMBER,nameVARCHAR2(30));
INTOnew_empSELECTemployee_id,last_namefromemployees;
s2;
fromnew_emp;
tos2;
fromnew_empwhereemployee_id=180;
\
new_empsetname=’James’;
tos2;
new_empsetname=’James’WHEREemployee_id=180;
;
完成本次事务处理以后,以下说法正确的有()
A.表中没有行。
B.有一个姓名为James的员工。
C.不能多次回滚到相同的保存点。
D.由于已经删除了员工ID180,因此最后一次更新未更新任何行。
10.以下运算结果不为空值的是()
)
A.12+NULL
B.60*NULL
C.NULL‖’NULL’
D.12/(60+NULL)
11.若当前日期为’25-5月-06’,以下()表达式能计算出5个月后那一天所在月份的最后一天的日期。
A.NEXT_DAY(ADD_MONTHS(’28-5月-06’,5))
B.NEXT_DAY(MONTHS_BETWEEN(’28-5月-06’,5))
C.LAST_DAY(MONTHS_BETWEEN(’28-5月-06’,5))
D.LAST_DAY(ADD_MONTHS(’28-5月-06’,5))
12.()子句用于列出唯一值。
,
A.uniqueB.distinctC.orderbyD.groupby
13.哪一个是子查询执行的顺序()
A.最里面的查询到最外面的查询
B.最外面的查询到最里面的查询
C.简单查询到复杂查询
D.复杂查询到简单查询
14.下面哪一个语句可以使用子查询()
A.SELECT语句B.UPDATE语句
C.DELETE语句D.以上都是
15.如果表DEPT包含3条记录,现在用如下命令对其进行修改,
~
ALTERTABLEDEPTADD(COMPNUMBER(4)NOTNULL);
请问下面哪一个说法是正确的()
A.该语句在表的最前面插入一个非空列
B.该语句在表的最后插入一个非空列
C.该语句执行完成后,应当立即执行COMMIT语句,以确保更改生效
D.该语句将产生错误
16.下列哪个是组合主键的特征()
A.每列有唯一的值,但不是NULL值
B.组合有唯一的值,并且其中每列没有NULL值
C.组合的第一列和最后一列有唯一值
@
D.组合的第一列和最后一列有唯一值,但没有NULL值
17.当删除父表中的数据时,在CREATETABLE语句的外键定义中指定的()选项删除子表中的数据。
A.ONTRUNCATECASCADE
B.ONDELETECASCADE
C.ONUPDATECASCADE
D.A和C都是
18.视图可以用于()
A.限制对表中指定列的访问
B.限制对表中行的子集的访问
C.A和B都是
!
D.A和B都不是
19.语句SELECT*FROMdeptWHERENOTEXISTS(SELECT*FROMempWHEREdeptno=执行后的结果为()
A.只显示存在于EMP表中的部门全部信息。
B.只显示不存在于EMP表中的部门全部信息
C.未返回任何数据
D.显示DEPT表中的全部信息
20.已创建序列S1,若当前值为2,先执行3次,再执行3次,最后S1的值是()
A.3B.4C.5D.6
21.数据库中有两个用户scott和myuser,物资表wz是属于myuser用户的,但当前用户是scott,要求查询物资表wz(wno,wname,wtype,wunit)物资单位wunit列为null的记录,取结果的前5条记录显示,以下正确的SQL语句是()
A.select*fromwherewunitisnullandrownum<5;
!
B.select*fromwherewunit=nullandrownum<5;
C.select*fromwherewunitisnullandrownum<6;
D.select*formwherewunitisnullandrownum<6;
22.若用户要连接数据库,则该用户必须拥有的权限是()
A.createtableB.createindex
C.createsessionD.connect
23.授予删除任何表的系统权限(DROPANYTABLE)给user1,并使其能继续授该权限给其他用户,以下正确的SQL语句是()
A.Grantdropanytabletouser1;
B.Grantdropanytabletouser1withadminoption;
C.Grantdroptabletouser1;
@
D.Grantdropanytabletouser1withcheckpotion;
24.当给一个有主键的表中插入重复行时,将引发下列哪个异常()
A.NO_DATA_FOUNDB.TOO_MANY_ROWS
C.DUP_VAL_ON_INDEXD.ZERO_DIVIDE
25.下面的查询中哪一个会产生笛卡尔集()
A.SELECT,,,,FROMempe,deptd
WHERE=;
B.SELECT,,,,FROMempe,deptd;
C.SELECT,,,,FROMempe,deptd
WHERE=101and=;
.
D.SELECT,,,,FROMempe,deptd
WHERE=and=60;
26.当每个非主键列完全依赖于(整个)主键列时,关系设计属于下列哪一种形式()
A.第一范式B.第二范式
C.第三范式D.第四范式
27.一般在()中有机会使用:
NEW和:
OLD
A.游标B.存储过程
C.函数D.触发器
28.在Oracle中,PL/SQL块中定义了一个带参数的游标:
CURSORemp_cursor(dnumNUMBER)IS
…
SELECTsal,commFROMempWHEREdeptno=dnum;
那么正确打开此游标的语句是( )
emp_cursor;
emp_cursorFOR20;
emp_cursorUSING20;
emp_recINemp_cursor(20)LOOP…ENDLOOP;
29.下面哪些是函数中的有效参数模式( )
B.INOUTD.OUTIN
30.()是一个单一的逻辑工作单元。
A.记录B.数据库
!
C.事务D.字段
1.数据定义语言是用于()的方法。
〔选择一项〕
A.确保数据的准确性B、定义和修改数据结构
C、查看数据D、删除和更新数据
2.要以自身的模式创建私有同义词,用户必须拥有()系统权限。
〔选择一项〕
PRIVATESYNONYM
PUBLICSYNONYM
SYNONYM
ANYSYNONYM
|
3.通常情况下,()值可以唯一地标识数据库中的一行。
〔选择二项〕
KEY
4.Oracle中,表名应该严格遵循下列哪些命名规则( )(选择二项)
A.表名的最大长度为20个字符
B.表名首字符可以为字母或下划线
C.同一用户模式下的不同表不能具有相同的名称
D.不能使用Oracle保留字来为表命名
&
5.在设计数据库时,要充分考虑数据的完整性或准确性。
下面关于primarykey和unique的描述错误的是( )〔选择二项)
key用来在表中设置主键,主键列的值是可以重复的,用来唯一标识表中的每一条记录
key列和unique列都不可以有null值
C.设为unique的列的值是不能重复的,用来唯一区别unique列的值
key列不可以有null值,而unique列是可以有null的
6.假定有一张表用户表users,其中一身份证字段ID_card。
为了维护数据的完整性,在设计数据库时,最好对ID_card字段添加约束,请问应该添加什么约束( )(选择一项)
keyB、checkC、defaultD、unique
7.下面哪个命令不属于数据操纵语言(DML)()(选择二项)
…
…
`
C、UPDATE…
D、DROP…
8.( )操作符只返回由第一个查询选定但是没有被第二个查询选定的行。
〔选择一项〕
ALL
9.EMPLOYEES表的结构如下:
EMPLOYEE_IDNUMBERPRIMARYKEY
FIRST_NAMEVARCHAR2(25)
@
LAST_NAMEVARCHAR2(25)
HIRE_DATEDATE
考虑下面的语句。
tablenew_emp(employee_idNUMBER,nameVARCHAR2(30));
INTOnew_empSELECTemployee_id,last_namefromemployees;
s2;
fromnew_emp;
tos2;
fromnew_empwhereemployee_id=180;
new_empsetname=’James’;
!
tos2;
new_empsetname=’James’WHEREemployee_id=180;
;
完成本次事务处理以后,以下说法正确的有()(不定项选择)
E.表中没有行。
F.有一个姓名为James的员工。
G.不能多次回滚到相同的保存点。
H.由于已经删除了员工ID180,因此最后一次更新未更新任何行。
10.删除emp表中所有数据,且可以rollback,以下语句哪个命令可以实现( )(选择一项)
tableemp
—
tableemp
*fromemp
fromemp
11.你发出命令:
DROPTABLEemp;
此时你还没有明确发出COMMIT命令。
你能用什么命令撤消上面的drop语句所做的操作( )〔选择一项〕
A.关闭数据库
B.什么命令都不可以,因为DDL语句不能被回滚
C.发出一个ROLLBACK命令
D.终断正在活动的会话
12.表ORDERS的结构定义如下:
~
ORDER_IDNUMBER(4)NOTNULL;
CUSTOMER_IDNUMBER(12)NOTNULL;
ORDER_TOTALNUMBER();
下列哪两个语句,能检索出预定总量在与之间的记录( )〔不定项选择〕
customer_id,order_id,order_totalFROMordersHAVINGorder_totalBETWEEN100AND2000;
customer_id,order_id,order_totalFROMordersWHEREorder_totalBETWEEN100AND2000;
customer_id,order_id,order_totalFROMordersWHEREorder_total>=100AND<=2000;
customer_id,order_id,order_totalFROMordersHAVINGONorder_total(100and2000)INCLUSIVE;
customer_id,order_id,order_totalFROMordersWHEREorder_total>=100ANDorder_total<=2000;
13.以下哪些是有效的Oracle约束类型()(选择四项)
]
A.UNIQUE
C.
E.PRIMARYKEY
NULL
14.更改oracle用户HR,使其变为不可用(锁定)状态( )〔选择一项〕
USERHRACCOUNTDISABLE;
USERHRACCOUNTLOCK;
USERHRACCOUNTLOCK;
USERHRACCOUNTDISABLE;
15.INSERTINTOTESTVALUES(‘&ID’,’&NAME’);语句在执行时将()〔选择一项〕
A.编译错:
提示变量未定义
B.运行错:
提示不能识别符号
C.将值&ID和&NAME插入到表中
D.提示用户输入输入ID和NAME的值,再将输入值插入表中
16.下面关于删除视图的说法哪一个是正确的( )。
(选择一项)
A.删除视图后应立即用COMMIT语句使更改生效
B.删除视图后,和视图关联的表中的数据不再存在
C.视图被删除后视图中的数据也将被删除
D.用dorpVIEW删除视图
17.( )函数通常用来计算累计排名、移动平均数和报表聚合等。
〔选择一项)
A.汇总
B.分析
C.分组
D.单行
18.集合操作符Intersect的作用是()〔选择一项〕
A.将两个记录集联接起来
B.选择第一个查询有,而第二个没有的记录
C.选择二个查询的交集
D.选择第二个查询有,而第一个没有的记录
19.EMP1表包含下面这些字段。
^
ENAMEVARCHAR2(35)
SALARYNUMBER(8,2)
HIRE_DATEDATE
管理部门想要一份已在公司工作了5年以上的员工名单。
以下哪个SQL语句可以显示需要的结果。
()(选择一项)
ENAMEFROMEMP1WHERESYSDATE-HIRE_DATE>5;
ENAMEFROMEMP1WHEREHIRE_DATE-SYSDATE>5;
ENAMEFROMEMP1WHERE(SYSDATE-HIRE_DATE)/365>5;
ENAMEFROMEMP1WHERE(SYSDATE-HIRE_DATE)*365>5;
20.在Oracle中,使用下列的语句:
CREATEPUBLICSYNONYMpartsFOR;
(
完成的任务是( )。
(选择一项)
A.需要给出schema被除去的对象名
B.指定了新的对象权限
C.指定了新的系统权限
D.给对象创建一个公用同义词parts
21.在Oracle中,有一个名为seq_id的序列对象,假定此时查看seq_id序列当前值显示为100,那么执行下面的sql
insertintotest(id,name)values,'tom');
很不幸,这个insert没有执行成功,随后马上执行rollback,问:
此时查看seq_id序列当前值显示为()〔选择一项〕
A.99B、100
C、101D、不能确定
$
22.PL/SQL块中不能直接使用的SQL命令是()〔选一项〕
23.在PL/SQL块中,以零作除数时会引发下列( )异常。
(选择一项)
:
24.在Oracle中,有一个名为seq的序列对象,以下语句能返回序列值但不会引起序列值增加的是( )(选择一项)
fromdual;
fromdual;
fromdual;
fromdual;
25.当SelectInto语句的返回没有数据时,将引发下列哪个异常()[选择一项]
*
26.创建序列时,若未指定Cycle选项,则当前值大于MaxValue时将()〔选择一项〕
A.从MinValue重新开始循环
B.重复使用MaxValue值
C.执行出错
D.使用随机值
27.PL/SQL块中哪几部分是可选的()〔选择二项〕
·
D.以上均是
28.在Oracle中,PL/SQL块中定义了一个带参数的游标:
CURSORemp_cursor(dnumNUMBER)IS
SELECTsal,commFROMempWHEREdeptno=dnum;
那么正确打开此游标的语句是( )(选择两项)
emp_cursor(20);
emp_cursorFOR20;
emp_cursorUSING20;
emp_recINemp_cursor(20)LOOP…ENDLOOP;
29.在Insert触发器中可使用的引用有()〔选一项〕
】
C.:
Update
D.:
New和:
Old
30.下面哪些是过程中的有效参数模式( )〔不定项选择〕
B.INOUTD.OUTIN
1.检索部门编号、部门名称、部门所在地及其每个部门的员工总数。
select,,,count(*)fromempe,deptdwhere=groupby,,;
2.检索员工和所属经理的姓名。
)
select雇员,经理fromempe,empmwhere=;
3.检索工资等级处于第四级别的员工的姓名。
selectfromempeinnerjoinsalgradesonbetweenandwhere=4;
4.检索工资等级高于smith的员工信息。
*
select*fromempejoinsalgradesonbetweenandwhere>(selectdistinctfromempejoinsalgradeson((selectsalfromempwhereename='SMITH')betweenand);
5.检索30部门中1980年1月份之前入职的员工信息。
显示:
员工号、员工名、部门号,部门名、入职日期。
selectempno,ename,,,hiredatefromemp,deptdwhere=and=30andhiredate 6.检索雇员的雇佣日期早于其经理雇佣日期的员工及其经理姓名。 select雇员,经理,雇员的雇佣日期,经理雇佣日期fromempe,empmwhere=and<; \ 7.按部门号(deptno)及工资(sal)排序检索公司的员工信息(要求部门号从大到小,部门号相同的按工资由低到高),显示的字段为: 员工号、员工名、工资、部门号。 selectempno,ename,sal,deptnofromemporderbydeptnodesc,sal; 8.检索不同部门经理的最低工资。 select,,fromempe,empmwhere=andin(selectdeptnofromempgroupbydeptno)andin(selectmin(sal)fromempgroupbydeptno); 9.检索部门号及其本部门的最低工资。 … selectdeptno,min(sal)fromempgroupbydeptno; 10.检索从事clerk工作的员工姓名和所在部门名称。 select,fromempejoindeptdon=where='CLERK'; 11.检索和名叫SCOTT的员工相同工资的员工信息,但不显示SCOTT。 显示字段: 员工号、员工名、工资。 selectempno,ename,salfromempwheresal=(selectsalfromempwhereename='SCOTT')andename! ='SCOTT' ^ 12.检索与SCOTT从事相同工作的员工信息。 select*fromempwherejob=(selectjobfromempwhereename='SCOTT'); 13.检索出员工表emp中的第3条到第8条记录。 显示字段: emp表中的全部字段。 select*from(selectrownumnum,e.*fromempe)wherenum>=3andnum<=8; 《 14.检索与30部门员工工资等级相同的员工姓名与工资。 select*fromempejoinsalgradesonbetweenandwhere=(selectdistinctfromempejoinsalgradeson((selectavg(sal)fromempwheredeptno=30)betweenand); 15.求分段显示薪水的个数。 显示结果如下: DEPTNO800-20
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ORACLE 数据库 习题